Ingestion d'ordonnances gouvernementales

VérifiéPrudence

Récupère les ordonnances, circulaires et projets de loi du Kerala depuis les portails officiels, les analyse et les enregistre dans un fichier TypeScript.

Spar Skills Guide Bot
Data & IAIntermédiaire
22/07/2026
Claude Code
#data-ingestion#government-orders#pdf-parsing#entity-tagging#typescript-data

Recommandé pour

Synthèse automatique

Récupère des ordonnances gouvernementales, circulaires et projets de loi du Kerala depuis les portails officiels, analyse leur numéro et écrit un enregistrement GovernmentOrder typé dans data/government-orders.ts.

Points forts

  • Définit un ordre de priorité clair entre quatre portails sources, avec le portail documentaire du Kerala comme hub principal
  • Décrit précisément le format des numéros de GO (type, numéro, année, code département) avec des exemples concrets
  • Impose la traçabilité : aucun enregistrement n'est publié sans URL source primaire
  • Propose un rattachement départemental en deux étapes, en commençant par une correspondance à haute confiance sur le suffixe du code département

Limites

  • Fortement spécifique au Kerala et à la structure de données de ce projet ; inutilisable tel quel ailleurs
  • La table de correspondance des codes départements est tronquée dans le document fourni, et les sources sont des portails HTML dont la structure peut changer
  • Ne couvre ni la validation du schéma TypeScript ni les doublons lors de l'ajout de plusieurs enregistrements
Quand l'utiliser

À utiliser lorsqu'il faut ajouter une ou plusieurs ordonnances, circulaires, SRO ou projets de loi du Kerala au tableau de bord avec une source vérifiable.

Quand l'éviter

À éviter pour des documents d'un autre État ou pays, ou lorsque aucune URL source primaire ne peut être fournie.

Analyse de sécurité

Prudence
Score qualité82/100

The skill uses network fetching and local file writes, both powerful but applied for a clearly legitimate purpose (ingesting public government orders). There are no destructive commands, no curl|sh piping, no base64/obfuscated payloads, no attempts to read or exfiltrate secrets, and no instructions to disable safety controls. The only risk is the inherent power of network + filesystem access, so it is rated caution rather than safe.

Points d'attention
  • •Instructs the agent to fetch content from external government portals over the network (document.kerala.gov.in, go.lsgkerala.gov.in, niyamasabha.nic.in, wcd.kerala.gov.in), which requires network tooling.
  • •Instructs writing records into a local source file (data/government-orders.ts), a file-modification action.
  • •No declared allowed-tools, so the agent's actual tool surface is unspecified.
Comment cette analyse est faite

Exemples

Add a specific GO by number
Ingest G.O.(P) No.162/2021/Fin into the dashboard: find the PDF on document.kerala.gov.in, parse the GO number, tag it to the finance department, and write the GovernmentOrder record.
Bulk ingest recent orders
Pull the last 30 days of Health & Family Welfare GOs from document.kerala.gov.in and add each one as a typed GovernmentOrder record in data/government-orders.ts with its source URL.
Add passed legislative bills
Add the recently passed bills from the Niyamasabha Bills Passed page as GovernmentOrder records with type "Bill", linking each to its PDF source.

name: ingest-go description: Fetch Kerala Government Orders (GOs), Circulars, and Legislative Bills from official portals, parse the GO number, tag each record to the correct department, and write a typed GovernmentOrder record to data/government-orders.ts. Use whenever adding GOs, Circulars, SROs, or Bills to the dashboard. disable-model-invocation: true

Ingest Government Order (ingest-go)

Adds one or more GovernmentOrder records to data/government-orders.ts. Every record must be traceable to a primary source URL and tagged to a department. No source URL = record does not ship.

Full spec: docs/plans/ingest-go-spec.md


Source portals

Fetch from these in priority order:

| Priority | Portal | URL | Covers | | -------- | -------------------- | ---------------------------------------------------------------- | ----------------------------- | | 1 | Document Portal, GoK | https://document.kerala.gov.in | All departments — primary hub | | 2 | LSG Orders portal | https://go.lsgkerala.gov.in | LSG-specific only | | 3 | Niyamasabha Bills | https://niyamasabha.nic.in/index.php/business/index/bills_passed | Legislative Bills | | 4 | WCD Orders | https://wcd.kerala.gov.in/gov_orders.php | Women & Child Dev only |

Tip: If you have a GO number like G.O.(P) No.162/2021/Fin, search it directly in the document portal's search box to pull the exact PDF link.


Step 1 — Fetch

Document portal (document.kerala.gov.in)

  • Default view shows the last 30 days.
  • Use Advanced Search to filter by department, GO type, and date range.
  • Retrieve the PDF URL for each result — this becomes meta.sourceUrl.

Niyamasabha bills

  • Navigate to the Bills Passed section.
  • Each bill entry should yield a PDF link (meta.sourceUrl) and a date.

Fallback portals

  • Use go.lsgkerala.gov.in or wcd.kerala.gov.in/gov_orders.php only when the document portal is missing a specific order.

Step 2 — Parse the GO number

Kerala GO numbers follow this format:

G.O.(<type>) No.<number>/<year>/<DeptCode>

Examples:

G.O.(P) No.162/2021/Fin    → type=P, number=162, year=2021, deptCode=Fin
G.O.(Ms) No.45/2024/Rev    → type=Ms, number=45, year=2024, deptCode=Rev
G.O.(Rt) No.1180/2023/H&FWD → type=Rt, number=1180, year=2023, deptCode=H&FWD
SRO No.12/2024             → type=SRO, number=12, year=2024, deptCode=null

Bills and Circulars may not have a structured GO number — record the number as-is and set type: "Bill" or type: "Circular" accordingly.


Step 3 — Tag the department (two-stage)

Stage 1 — GO number suffix (confidence: high)

Match deptCode (case-insensitive) against this table:

| deptCode | dept.id | | ---------------- | -------------------------------- | | Fin | dept.finance | | Rev | dept.revenue | | H&FWD, HFWD, HFW | dept.health-family-welfare | | GAD, Gen | dept.cmo | | LSG | dept.local-self-government | | Edu, GEdn | dept.general-education | | HEdn | dept.higher-education | | Home | dept.home | | PWD | dept.public-works | | Tran | dept.transport | | Lab | dept.labour-skills | | For | dept.forest-wildlife | | Ind | dept.industries-commerce | | Agri | dept.agriculture-farmers-welfare | | Coop | dept.cooperation | | Fish | dept.fisheries-harbour | | Pwr, Elec | dept.power | | WR, Irr | dept.water-resources | | SC/ST, SCSTBCD | dept.scheduled-castes-tribes-bcd | | WCD | dept.women-child-development | | Tur | dept.tourism | | Vig | dept.vigilance | | Exc | dept.excise | | Plan | dept.planning-economic-affairs | | Dev, Devaswom | dept.devaswom | | Min | dept.minority-welfare | | IT, ICT | dept.electronics-it | | Cult | dept.cultural-affairs | | Port | dept.ports | | Yth | dept.youth-welfare | | Law | dept.law |

If matched → set deptId and deptConfidence: "high". Skip Stage 2.

Stage 2 — Keyword fallback (confidence: medium)

If Stage 1 didn't match, scan the GO subject line for the name or nameMl of each department in data/departments.ts. First match wins.

If matched → set deptId and deptConfidence: "medium".

Fallback — ambiguous (confidence: low)

If neither stage matched, set deptId: undefined and deptConfidence: "low". Do not guess. The UI will render these with a visual caveat.


Step 4 — Build the record

Use this template:

{
  id: "go.<year>-<deptCode-lower>-<number>",
  goNumber: "<raw GO number string>",
  type: "P",           // P | Ms | Rt | SRO | Circular | Bill
  subject: "<English subject from document>",
  // subjectMl: "<Malayalam subject — only if printed on document; never translate>",
  deptId: "dept.<id>", // omit if deptConfidence is "low"
  deptConfidence: "high", // high | medium | low
  date: "2021-06-15",  // ISO date from the document
  // effectiveDate: "2021-07-01", // only if different from date
  meta: {
    source: "Document Portal, Government of Kerala",
    sourceUrl: "https://document.kerala.gov.in/...", // direct PDF URL — mandatory
    retrievedAt: "<ISO timestamp of this fetch>",
  },
  dataStatus: "verified",
},

ID examples:

  • G.O.(P) No.162/2021/Fin → go.2021-fin-162
  • G.O.(Rt) No.1180/2023/H&FWD → go.2023-hfwd-1180
  • SRO No.12/2024 → go.2024-sro-12
  • Circular with no number → go.<year>-misc-<sequential>

Step 5 — Tooltip rule (non-negotiable)

Any UI component that renders this record MUST display a tooltip showing:

  • meta.source — the portal name
  • meta.sourceUrl — as a clickable link

This applies to table rows, cards, and detail views. No tooltip = no merge.


Step 6 — After editing

  1. Append the new record(s) to GOVERNMENT_ORDERS in data/government-orders.ts
  2. Bump SEED_VERSION in data/db.ts
  3. Run deno task check — must pass fmt + lint + type check
  4. If a UI route exists: verify the record renders with the correct dept badge and tooltip

Common mistakes

  • Omitting meta.sourceUrl — this is the single most important field. Every GO has a PDF on the portal; find it.
  • Guessing the department when Stage 1 + 2 both fail — set deptConfidence: "low" and leave deptId undefined. An incorrect tag is worse than an untagged record.
  • Machine-translating subjectMl — only populate if the Malayalam subject appears on the document itself.
  • Forgetting SEED_VERSION bump — the new record will silently not appear.
  • Using a /thumb/ or search-result URL as meta.sourceUrl — use the direct PDF URL so the link is stable.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/ingest-government-orders-mrwak9mg/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/ingest-government-orders-mrwak9mg' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/ingest-government-orders-mrwak9mg/download' --output '.skill-downloads/ingest-government-orders-mrwak9mg/SKILL.md.part' && mv '.skill-downloads/ingest-government-orders-mrwak9mg/SKILL.md.part' '.skill-downloads/ingest-government-orders-mrwak9mg/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/ingest-government-orders-mrwak9mg/SKILL.md' && test -s '.skill-downloads/ingest-government-orders-mrwak9mg/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ingest-go' && cp -R '.skill-downloads/ingest-government-orders-mrwak9mg' '.claude/skills/ingest-go'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/ingest-government-orders-mrwak9mg'

openskills read 'ingest-government-orders-mrwak9mg'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/ingest-government-orders-mrwak9mg/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires