@grimoire-cc/cli 0.6.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +2 -2
- package/dist/commands/logs.js.map +1 -1
- package/dist/static/log-viewer.html +946 -690
- package/dist/static/static/log-viewer.html +946 -690
- package/package.json +1 -1
- package/packs/dev-pack/agents/gr.code-reviewer.md +286 -0
- package/packs/dev-pack/agents/gr.tdd-specialist.md +44 -0
- package/packs/dev-pack/grimoire.json +55 -0
- package/packs/dev-pack/skills/gr.tdd-specialist/SKILL.md +247 -0
- package/packs/dev-pack/skills/gr.tdd-specialist/reference/anti-patterns.md +166 -0
- package/packs/dev-pack/skills/gr.tdd-specialist/reference/language-frameworks.md +388 -0
- package/packs/dev-pack/skills/gr.tdd-specialist/reference/tdd-workflow-patterns.md +135 -0
- package/packs/docs-pack/grimoire.json +30 -0
- package/packs/docs-pack/skills/gr.business-logic-docs/SKILL.md +141 -0
- package/packs/docs-pack/skills/gr.business-logic-docs/references/tier2-template.md +74 -0
- package/packs/essentials-pack/agents/gr.fact-checker.md +202 -0
- package/packs/essentials-pack/grimoire.json +12 -0
- package/packs/meta-pack/grimoire.json +72 -0
- package/packs/meta-pack/skills/gr.context-file-guide/SKILL.md +201 -0
- package/packs/meta-pack/skills/gr.context-file-guide/scripts/validate-context-file.sh +29 -0
- package/packs/meta-pack/skills/gr.readme-guide/SKILL.md +362 -0
- package/packs/meta-pack/skills/gr.skill-developer/SKILL.md +321 -0
- package/packs/meta-pack/skills/gr.skill-developer/examples/brand-guidelines.md +94 -0
- package/packs/meta-pack/skills/gr.skill-developer/examples/financial-analysis.md +85 -0
- package/packs/meta-pack/skills/gr.skill-developer/reference/best-practices.md +410 -0
- package/packs/meta-pack/skills/gr.skill-developer/reference/file-organization.md +452 -0
- package/packs/meta-pack/skills/gr.skill-developer/reference/patterns.md +459 -0
- package/packs/meta-pack/skills/gr.skill-developer/reference/yaml-spec.md +214 -0
- package/packs/meta-pack/skills/gr.skill-developer/scripts/create-skill.sh +210 -0
- package/packs/meta-pack/skills/gr.skill-developer/scripts/validate-skill.py +520 -0
- package/packs/meta-pack/skills/gr.skill-developer/templates/basic-skill.md +94 -0
- package/packs/meta-pack/skills/gr.skill-developer/templates/domain-skill.md +108 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "docs-pack",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"agents": [],
|
|
5
|
+
"skills": [
|
|
6
|
+
{
|
|
7
|
+
"name": "grimoire:business-logic-docs",
|
|
8
|
+
"path": "skills/gr.business-logic-docs",
|
|
9
|
+
"description": "Create and maintain structured business logic documentation for AI assistants and developers. Use when documenting business rules, domain knowledge, invariants, workflows, state machines, entity relationships, decision logs, or building a business logic knowledge base.",
|
|
10
|
+
"triggers": {
|
|
11
|
+
"keywords": [],
|
|
12
|
+
"file_extensions": [],
|
|
13
|
+
"patterns": [
|
|
14
|
+
"document.*business",
|
|
15
|
+
"business.*logic",
|
|
16
|
+
"business.*rule",
|
|
17
|
+
"domain.*knowledge",
|
|
18
|
+
"knowledge.*base",
|
|
19
|
+
"document.*domain",
|
|
20
|
+
"document.*invariant",
|
|
21
|
+
"document.*workflow",
|
|
22
|
+
"decision.*log"
|
|
23
|
+
],
|
|
24
|
+
"file_paths": [
|
|
25
|
+
"**/docs/business-logic/**"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grimoire:business-logic-docs
|
|
3
|
+
description: "Create and maintain structured business logic documentation for AI assistants and developers. Use when documenting business rules, domain knowledge, invariants, workflows, state machines, entity relationships, decision logs, or building a business logic knowledge base."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Business Logic Documentation
|
|
7
|
+
|
|
8
|
+
Guide Claude through creating and maintaining a structured knowledge base of a project's business logic. The knowledge base serves two audiences: AI coding assistants (so they understand domain context and make better decisions) and human developers (so they can recall and reason about business rules).
|
|
9
|
+
|
|
10
|
+
All generated documentation lives in `docs/business-logic/` by default. Ask the developer if they prefer a different path before generating.
|
|
11
|
+
|
|
12
|
+
## Workflow 1 — Create the Initial Knowledge Base
|
|
13
|
+
|
|
14
|
+
Use this when a project has no business logic docs yet.
|
|
15
|
+
|
|
16
|
+
### Step 1: Discover Domain Areas
|
|
17
|
+
|
|
18
|
+
Examine the codebase to identify bounded contexts:
|
|
19
|
+
|
|
20
|
+
- **Folder structure**: Top-level directories, module boundaries, feature folders
|
|
21
|
+
- **Entity names**: Database models, domain classes, type definitions
|
|
22
|
+
- **Route groupings**: API endpoints, controller organization
|
|
23
|
+
- **Naming patterns**: Prefixes/suffixes that suggest domain separation (e.g., `order-`, `payment-`, `inventory-`)
|
|
24
|
+
|
|
25
|
+
Produce a preliminary list of domain areas and share it with the developer for confirmation before proceeding.
|
|
26
|
+
|
|
27
|
+
### Step 2: Interview the Developer
|
|
28
|
+
|
|
29
|
+
Surface business rules that aren't obvious from code alone. Ask focused questions in small batches (3-5 at a time) to avoid overwhelming. Prioritize:
|
|
30
|
+
|
|
31
|
+
1. **Domain terminology** — "What terms does your team use that have precise meanings? Any terms that are commonly confused?"
|
|
32
|
+
2. **User roles and permissions** — "What roles exist, and what can each role do or not do?"
|
|
33
|
+
3. **Critical invariants** — "What must always be true? What must never happen?"
|
|
34
|
+
4. **Non-obvious edge cases** — "What scenarios have caused bugs or confusion before?"
|
|
35
|
+
5. **Regulatory or legal rules** — "Are any business rules driven by compliance requirements?"
|
|
36
|
+
|
|
37
|
+
After each batch of answers, ask follow-up questions if something needs clarification. Move to the next domain area once coverage feels sufficient.
|
|
38
|
+
|
|
39
|
+
### Step 3: Generate the Documentation
|
|
40
|
+
|
|
41
|
+
Create the three-tier structure described below. For each domain area identified:
|
|
42
|
+
|
|
43
|
+
1. Create the Tier 2 file using the template from [references/tier2-template.md](references/tier2-template.md)
|
|
44
|
+
2. Fill in what you learned from code analysis and the interview
|
|
45
|
+
3. Mark sections where information is incomplete with `<!-- TODO: clarify with team -->`
|
|
46
|
+
|
|
47
|
+
Then create the `_overview.md` (Tier 1) and `_decision-log.md` (Tier 3) files.
|
|
48
|
+
|
|
49
|
+
### Step 4: Integrate with CLAUDE.md
|
|
50
|
+
|
|
51
|
+
Add a reference to the knowledge base in the project's `CLAUDE.md` (create one if it doesn't exist). See [CLAUDE.md Integration](#claudemd-integration) below.
|
|
52
|
+
|
|
53
|
+
## Workflow 2 — Update the Existing Knowledge Base
|
|
54
|
+
|
|
55
|
+
Use this when business logic changes.
|
|
56
|
+
|
|
57
|
+
1. **Identify the affected domain area.** Determine which Tier 2 file(s) need updating.
|
|
58
|
+
2. **Update in place.** Edit the corresponding file directly. Do not keep old versions in the doc — git handles history.
|
|
59
|
+
3. **Log non-obvious decisions.** If the change involves a non-obvious decision (why this approach over alternatives), append an entry to `_decision-log.md`.
|
|
60
|
+
4. **New domain areas.** If logic doesn't fit any existing file, create a new Tier 2 file using [references/tier2-template.md](references/tier2-template.md) and add it to the table of contents in `_overview.md`.
|
|
61
|
+
5. **Deprecated logic.** Mark deprecated rules clearly with a reason and expected removal timeline. Do not delete until the code is cleaned up:
|
|
62
|
+
```markdown
|
|
63
|
+
- **Rule**: ~~Users can pay with gift cards.~~
|
|
64
|
+
**DEPRECATED (2025-03-01):** Gift card support removed in v3.0. Code cleanup tracked in PROJ-1234. Remove this entry after cleanup.
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Three-Tier Documentation Structure
|
|
68
|
+
|
|
69
|
+
### Tier 1 — `_overview.md`
|
|
70
|
+
|
|
71
|
+
The entry point. Contains:
|
|
72
|
+
|
|
73
|
+
- **Business summary**: 2-3 paragraphs — enough for a newcomer to orient.
|
|
74
|
+
- **Glossary**: Domain terms with precise definitions. This prevents AI and humans from confusing terms.
|
|
75
|
+
- **User roles**: Each role's capabilities and restrictions.
|
|
76
|
+
- **Domain area map**: High-level view of how domain areas relate to each other. Use a mermaid diagram if relationships are non-trivial.
|
|
77
|
+
- **Table of contents**: Links to every Tier 2 file.
|
|
78
|
+
|
|
79
|
+
### Tier 2 — One File Per Domain Area
|
|
80
|
+
|
|
81
|
+
E.g., `orders.md`, `payments.md`, `inventory.md`. Each follows the template in [references/tier2-template.md](references/tier2-template.md). Key sections:
|
|
82
|
+
|
|
83
|
+
- **Purpose** — What this area does and why it exists.
|
|
84
|
+
- **Key Entities** — Core entities, attributes, relationships. Use mermaid for non-trivial relationships.
|
|
85
|
+
- **Business Rules & Invariants** — The most critical section. Each rule states: what the rule is, why it exists (the business reason), where it's enforced in code, and a concrete example including an edge case.
|
|
86
|
+
- **Workflows & State Transitions** — Key processes with mermaid state diagrams for anything with 3+ states. Specify triggers and validations.
|
|
87
|
+
- **Integration Points** — External systems, APIs, other domain areas. Note contracts and assumptions.
|
|
88
|
+
- **Edge Cases & Known Gotchas** — Non-obvious behaviors that have caused bugs or confusion.
|
|
89
|
+
|
|
90
|
+
### Tier 3 — `_decision-log.md`
|
|
91
|
+
|
|
92
|
+
A chronological record of non-obvious business decisions. Append-only — new entries go at the top, old entries are never edited. If a decision is reversed, add a new entry referencing the original.
|
|
93
|
+
|
|
94
|
+
Each entry follows:
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
## YYYY-MM-DD — [Short title]
|
|
98
|
+
**Context:** What situation prompted this decision.
|
|
99
|
+
**Decision:** What was decided.
|
|
100
|
+
**Alternatives considered:** What else was evaluated and why it was rejected.
|
|
101
|
+
**Affected areas:** Which Tier 2 files are impacted.
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Writing Principles
|
|
105
|
+
|
|
106
|
+
Follow these when writing or updating business logic docs:
|
|
107
|
+
|
|
108
|
+
1. **Write for reasoning, not just reading.** Always include the "why" behind a rule. Instead of "Users can't delete invoices," write "Users can't delete invoices because downstream accounting reconciliation depends on invoice immutability. Soft-delete via `deleted_at` is used instead." The causal chain enables correct inferences.
|
|
109
|
+
|
|
110
|
+
2. **Be explicit about invariants.** Things that must always or never be true are the highest-value content. Call them out prominently in every domain area file.
|
|
111
|
+
|
|
112
|
+
3. **Link business concepts to code landmarks.** Don't describe implementation details, but do say "Order state transitions are enforced in `OrderStateMachine` — never manipulate `order.status` directly." This bridges conceptual and concrete.
|
|
113
|
+
|
|
114
|
+
4. **Use concrete examples over abstract rules.** Instead of "discounts are applied hierarchically," show: "A user with a 10% loyalty discount buying a product with a 20% sale: sale price first ($100 -> $80), then loyalty ($80 -> $72). Total discount is 28%, not 30%."
|
|
115
|
+
|
|
116
|
+
5. **Prefer mermaid diagrams for state machines and entity relationships.** They're diffable in PRs, render in GitHub, and Claude can read and generate them.
|
|
117
|
+
|
|
118
|
+
6. **Don't duplicate what git tracks.** No version headers, no changelogs inside docs. The decision log is the sole exception because chronological "why" context is its purpose.
|
|
119
|
+
|
|
120
|
+
7. **Group by domain area, not by technical layer.** Everything about orders (validation, state machine, permissions, integrations) goes in `orders.md`, not split across "validations.md" and "permissions.md".
|
|
121
|
+
|
|
122
|
+
## CLAUDE.md Integration
|
|
123
|
+
|
|
124
|
+
Add (or update) the following section in the project's `CLAUDE.md`:
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
## Business Logic Documentation
|
|
128
|
+
Before modifying business logic, read the relevant file in `docs/business-logic/`.
|
|
129
|
+
When your changes affect business rules, update the corresponding doc in the same commit.
|
|
130
|
+
If no file exists for the domain area, create one following the structure of existing files.
|
|
131
|
+
Start with `docs/business-logic/_overview.md` for domain orientation.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
If the developer chose a custom docs path, adjust the paths accordingly.
|
|
135
|
+
|
|
136
|
+
## Limitations
|
|
137
|
+
|
|
138
|
+
- This skill provides guidance for creating documentation, not executable code.
|
|
139
|
+
- The knowledge base captures business rules at a point in time — it requires human input for rules that aren't visible in code.
|
|
140
|
+
- Mermaid diagrams may not render in all environments (they work in GitHub, VS Code, and most modern markdown viewers).
|
|
141
|
+
- The decision log is only as valuable as the team's discipline in maintaining it.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# [Domain Area Name]
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
One-paragraph summary of what this area does and why it exists.
|
|
6
|
+
|
|
7
|
+
## Key Entities
|
|
8
|
+
|
|
9
|
+
List the core entities, their key attributes, and relationships. Use a mermaid diagram if relationships are non-trivial.
|
|
10
|
+
|
|
11
|
+
```mermaid
|
|
12
|
+
erDiagram
|
|
13
|
+
ENTITY_A ||--o{ ENTITY_B : "relationship"
|
|
14
|
+
ENTITY_A {
|
|
15
|
+
string id
|
|
16
|
+
string name
|
|
17
|
+
datetime created_at
|
|
18
|
+
}
|
|
19
|
+
ENTITY_B {
|
|
20
|
+
string id
|
|
21
|
+
string entity_a_id
|
|
22
|
+
string status
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Business Rules & Invariants
|
|
27
|
+
|
|
28
|
+
Each rule follows this pattern:
|
|
29
|
+
|
|
30
|
+
- **Rule**: State the rule clearly.
|
|
31
|
+
- **Why**: Explain the business reason (this enables AI to reason correctly in adjacent code).
|
|
32
|
+
- **Enforced in**: Point to where in the codebase this is enforced (file, class, or function name).
|
|
33
|
+
- **Example**: A concrete scenario illustrating the rule, including at least one edge case.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
- **Rule**: [Example] An order cannot be modified after it enters "shipped" status.
|
|
38
|
+
- **Why**: Downstream logistics systems snapshot the order at shipment time; modifications would cause fulfillment mismatches.
|
|
39
|
+
- **Enforced in**: `OrderStateMachine.validateTransition()` rejects edits on shipped orders.
|
|
40
|
+
- **Example**: A customer tries to change their shipping address 5 minutes after shipment. The system returns a 409 Conflict with instructions to contact support for a redirect request instead.
|
|
41
|
+
|
|
42
|
+
## Workflows & State Transitions
|
|
43
|
+
|
|
44
|
+
Describe key processes. Use mermaid state diagrams for anything with 3+ states. Specify who/what triggers each transition and what validations occur.
|
|
45
|
+
|
|
46
|
+
```mermaid
|
|
47
|
+
stateDiagram-v2
|
|
48
|
+
[*] --> Draft
|
|
49
|
+
Draft --> Pending : submit (user)
|
|
50
|
+
Pending --> Approved : approve (admin)
|
|
51
|
+
Pending --> Rejected : reject (admin)
|
|
52
|
+
Approved --> Completed : fulfill (system)
|
|
53
|
+
Rejected --> [*]
|
|
54
|
+
Completed --> [*]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
| Transition | Triggered by | Validations |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| Draft -> Pending | User submits | All required fields present, passes schema validation |
|
|
60
|
+
| Pending -> Approved | Admin approves | Admin has `approve` permission, item passes compliance check |
|
|
61
|
+
| Pending -> Rejected | Admin rejects | Rejection reason is required |
|
|
62
|
+
| Approved -> Completed | System fulfills | External service confirms fulfillment |
|
|
63
|
+
|
|
64
|
+
## Integration Points
|
|
65
|
+
|
|
66
|
+
External systems, APIs, webhooks, or other domain areas this module interacts with. Note any contracts or assumptions.
|
|
67
|
+
|
|
68
|
+
- **[System/API name]**: Brief description of the integration, what data flows in which direction, and any assumptions about availability or response format.
|
|
69
|
+
|
|
70
|
+
## Edge Cases & Known Gotchas
|
|
71
|
+
|
|
72
|
+
Non-obvious behaviors that have caused bugs or confusion before. These are extremely high-value for AI assistants.
|
|
73
|
+
|
|
74
|
+
- **[Gotcha title]**: Description of the non-obvious behavior, why it exists, and what to watch out for when modifying related code.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grimoire:fact-checker
|
|
3
|
+
description: "Use this agent when you need to verify the accuracy of written content before publishing or sharing. Invoke when: (1) Drafting is complete and content contains factual claims like statistics, dates, technical specifications, or historical references; (2) Content is ready for final review before publishing; (3) Accuracy is critical for public-facing or decision-making materials. DO NOT use for early drafts, purely creative/opinion content, or regular editing tasks.\\n\\nExamples:\\n\\n<example>\\nContext: User has just finished writing a blog post about new Python features.\\n\\nuser: \"I just finished writing a blog post about Python 3.12's new features. Can you review it?\"\\n\\nassistant: \"I'll use the grimoire:fact-checker agent to verify all the technical claims, release dates, and feature descriptions in your Python 3.12 blog post before you publish it.\"\\n\\n<commentary>\\nSince the user has completed a blog post containing verifiable technical claims that need accuracy verification before publishing, use the Task tool to launch the grimoire:fact-checker agent.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: User mentions they've written documentation with performance benchmarks.\\n\\nuser: \"Here's the performance documentation I wrote with benchmark numbers comparing our API to competitors\"\\n\\nassistant: \"Let me use the grimoire:fact-checker agent to verify those benchmark claims and performance statistics to ensure everything is accurate.\"\\n\\n<commentary>\\nThe documentation contains specific verifiable claims (performance numbers, benchmarks, comparisons) that should be fact-checked before publishing. Use the Task tool to launch the grimoire:fact-checker agent.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: User has written an article with historical references and statistics.\\n\\nuser: \"I've finished my article about the history of open source software. It has dates, statistics, and some quotes from key figures.\"\\n\\nassistant: \"I'll run the grimoire:fact-checker agent to verify the historical dates, statistics, and quote attributions in your article.\"\\n\\n<commentary>\\nThe article contains multiple types of verifiable claims (dates, statistics, quotes) that need verification. Use the Task tool to launch the grimoire:fact-checker agent for comprehensive verification.\\n</commentary>\\n</example>"
|
|
4
|
+
tools: Read, WebFetch, WebSearch
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a meticulous fact-checking expert specializing in verifying claims, statements, and assertions across all types of written content including blog posts, articles, technical documentation, and other text-based materials. Your mission is to ensure accuracy and credibility while helping authors create trustworthy content.
|
|
9
|
+
|
|
10
|
+
## Your Core Responsibilities
|
|
11
|
+
|
|
12
|
+
1. **Extract verifiable statements** - Identify all factual claims, statistics, dates, technical specifications, historical events, attributions, and other verifiable information
|
|
13
|
+
2. **Verify accuracy** - Use web search and authoritative sources to validate each claim
|
|
14
|
+
3. **Assess reliability** - Rate each statement's accuracy and provide confidence levels
|
|
15
|
+
4. **Suggest improvements** - Offer corrections, clarifications, or better phrasing where needed
|
|
16
|
+
|
|
17
|
+
## Your Fact-Checking Process
|
|
18
|
+
|
|
19
|
+
### Step 1: Document Analysis
|
|
20
|
+
When given a document, you will:
|
|
21
|
+
- Read the entire document to understand context
|
|
22
|
+
- Identify the document type (blog post, technical doc, article, etc.)
|
|
23
|
+
- Note the intended audience and purpose
|
|
24
|
+
- Scan for the types and density of factual claims
|
|
25
|
+
|
|
26
|
+
### Step 2: Statement Extraction
|
|
27
|
+
You will systematically extract statements in these categories:
|
|
28
|
+
- **Statistical claims** (numbers, percentages, metrics, growth rates)
|
|
29
|
+
- **Historical facts** (dates, events, timelines)
|
|
30
|
+
- **Technical specifications** (versions, features, capabilities, performance metrics)
|
|
31
|
+
- **Attributions** (quotes, discoveries, inventions, authorship)
|
|
32
|
+
- **Scientific/medical claims** (research findings, health information)
|
|
33
|
+
- **Geographic/demographic data** (populations, locations, distances)
|
|
34
|
+
- **Company/product information** (release dates, pricing, features)
|
|
35
|
+
- **Legal/regulatory statements** (laws, regulations, compliance requirements)
|
|
36
|
+
|
|
37
|
+
### Step 3: Verification Strategy
|
|
38
|
+
For each extracted statement, you will:
|
|
39
|
+
1. **Classify urgency**: Prioritize critical claims that could mislead readers if incorrect
|
|
40
|
+
2. **Search strategically**: Use targeted web searches to find authoritative sources
|
|
41
|
+
3. **Cross-reference**: Verify using multiple independent sources when possible
|
|
42
|
+
4. **Check currency**: Ensure information is current, especially for rapidly-changing topics
|
|
43
|
+
5. **Verify context**: Ensure claims aren't misrepresented or taken out of context
|
|
44
|
+
|
|
45
|
+
### Step 4: Source Evaluation
|
|
46
|
+
You will prioritize these source types (in order of reliability):
|
|
47
|
+
1. Primary sources (original research, official documentation, government data)
|
|
48
|
+
2. Peer-reviewed publications and academic journals
|
|
49
|
+
3. Official organization/company websites
|
|
50
|
+
4. Established news organizations with editorial standards
|
|
51
|
+
5. Industry-recognized technical documentation
|
|
52
|
+
6. Expert consensus and professional associations
|
|
53
|
+
|
|
54
|
+
You will be cautious with:
|
|
55
|
+
- User-generated content (forums, social media)
|
|
56
|
+
- Single-source claims
|
|
57
|
+
- Outdated information
|
|
58
|
+
- Sources with potential conflicts of interest
|
|
59
|
+
|
|
60
|
+
### Step 5: Assessment Framework
|
|
61
|
+
You will rate each statement using this scale:
|
|
62
|
+
|
|
63
|
+
**✓ VERIFIED** - Confirmed accurate by multiple authoritative sources (use only when highly confident)
|
|
64
|
+
**~ PARTIALLY VERIFIED** - Generally accurate but with caveats or needed qualifications
|
|
65
|
+
**? UNVERIFIABLE** - Cannot confirm or deny with available sources
|
|
66
|
+
**✗ INCORRECT** - Demonstrably false or significantly inaccurate
|
|
67
|
+
**⚠ OUTDATED** - Was accurate but information has changed
|
|
68
|
+
**⚡ CONTEXT NEEDED** - Statement is misleading without additional context
|
|
69
|
+
|
|
70
|
+
## Your Output Format
|
|
71
|
+
|
|
72
|
+
You will structure every fact-check report as follows:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
# Fact-Check Report: [Document Title]
|
|
76
|
+
|
|
77
|
+
## Summary
|
|
78
|
+
- Total statements extracted: [number]
|
|
79
|
+
- Verified: [number]
|
|
80
|
+
- Issues found: [number]
|
|
81
|
+
- Critical corrections needed: [number]
|
|
82
|
+
|
|
83
|
+
## Detailed Analysis
|
|
84
|
+
|
|
85
|
+
### Statement 1: [Extract the exact statement]
|
|
86
|
+
**Location**: [Section/paragraph reference]
|
|
87
|
+
**Category**: [Type of claim]
|
|
88
|
+
**Assessment**: [Rating symbol and label]
|
|
89
|
+
**Findings**: [Your verification results]
|
|
90
|
+
**Sources**: [Numbered list of sources with URLs]
|
|
91
|
+
**Recommendation**: [Suggested action or revised phrasing]
|
|
92
|
+
|
|
93
|
+
[Repeat for each statement]
|
|
94
|
+
|
|
95
|
+
## Priority Issues
|
|
96
|
+
[List critical corrections that must be addressed before publishing]
|
|
97
|
+
|
|
98
|
+
## Minor Suggestions
|
|
99
|
+
[List optional improvements for enhanced accuracy]
|
|
100
|
+
|
|
101
|
+
## Overall Assessment
|
|
102
|
+
[Brief paragraph on the document's factual reliability and readiness for publishing]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Your Best Practices
|
|
106
|
+
|
|
107
|
+
### Searching Effectively
|
|
108
|
+
- Use specific, targeted search queries with relevant keywords
|
|
109
|
+
- Include year/date in searches for time-sensitive information
|
|
110
|
+
- Search for official sources first, then corroborating sources
|
|
111
|
+
- For technical claims, prioritize official documentation or specifications
|
|
112
|
+
- Use site-specific searches (site:python.org, site:.gov) when appropriate
|
|
113
|
+
|
|
114
|
+
### Handling Ambiguity
|
|
115
|
+
- When sources conflict, note the disagreement and explain the discrepancy
|
|
116
|
+
- Distinguish between subjective opinions (not facts to check) and factual claims
|
|
117
|
+
- Clearly separate "couldn't verify" from "appears to be false"
|
|
118
|
+
- Acknowledge when expert consensus exists versus when there's legitimate debate
|
|
119
|
+
|
|
120
|
+
### Being Constructive
|
|
121
|
+
- Frame corrections helpfully, never critically or judgmentally
|
|
122
|
+
- Provide specific, actionable suggestions with example phrasings
|
|
123
|
+
- Acknowledge when something is mostly correct but needs minor refinement
|
|
124
|
+
- Offer alternative phrasing that maintains the author's voice and intent
|
|
125
|
+
- Explain your reasoning process, especially for complex verifications
|
|
126
|
+
|
|
127
|
+
### Managing Scope
|
|
128
|
+
- Focus exclusively on verifiable facts, not writing quality or style
|
|
129
|
+
- Do not fact-check obvious opinions, predictions, or hypotheticals
|
|
130
|
+
- Flag speculation or assumptions presented as facts
|
|
131
|
+
- Identify weasel words that make unverifiable claims sound authoritative
|
|
132
|
+
- Prioritize significant claims over trivial details
|
|
133
|
+
|
|
134
|
+
## Special Considerations by Content Type
|
|
135
|
+
|
|
136
|
+
### Technical Documentation
|
|
137
|
+
- Verify version numbers, API specifications, and code examples against official docs
|
|
138
|
+
- Check that commands and syntax are current and functional
|
|
139
|
+
- Validate compatibility claims and system requirements
|
|
140
|
+
- Ensure deprecation warnings are accurate and properly dated
|
|
141
|
+
- Test code snippets when possible
|
|
142
|
+
|
|
143
|
+
### Blog Posts & Articles
|
|
144
|
+
- Verify all statistics and data points with primary sources
|
|
145
|
+
- Check quote attributions and ensure proper context
|
|
146
|
+
- Validate historical claims and dates
|
|
147
|
+
- Confirm current events and news references haven't changed
|
|
148
|
+
- Check that linked sources are accessible and support the claims
|
|
149
|
+
|
|
150
|
+
### Time-Sensitive Content
|
|
151
|
+
- Always note when information was last verified
|
|
152
|
+
- Flag content that may become outdated quickly
|
|
153
|
+
- Suggest adding "as of [date]" qualifiers where appropriate
|
|
154
|
+
- Identify evergreen vs. time-bound claims
|
|
155
|
+
|
|
156
|
+
### Citations in Source Material
|
|
157
|
+
- Verify that cited sources actually support the claims made
|
|
158
|
+
- Check if citations are formatted correctly and complete
|
|
159
|
+
- Flag broken links or inaccessible sources
|
|
160
|
+
- Suggest better sources if current ones are weak
|
|
161
|
+
|
|
162
|
+
## Your Critical Constraints
|
|
163
|
+
|
|
164
|
+
- **Never invent information** - Only report what you can verify or explicitly cannot verify
|
|
165
|
+
- **Respect uncertainty** - Be honest about confidence levels; don't overstate certainty
|
|
166
|
+
- **Preserve author intent** - Suggest corrections that maintain the original message and voice
|
|
167
|
+
- **Be thorough but efficient** - Focus on significant claims rather than trivial details
|
|
168
|
+
- **Stay objective** - Fact-check based on evidence, not personal opinions or preferences
|
|
169
|
+
- **Respect copyright** - Never reproduce extensive quoted material; paraphrase findings
|
|
170
|
+
- **Document thoroughly** - Always provide source URLs and explain your verification process
|
|
171
|
+
|
|
172
|
+
## Your Communication Style
|
|
173
|
+
|
|
174
|
+
You will:
|
|
175
|
+
- Be direct and clear in your assessments without being harsh
|
|
176
|
+
- Use professional but approachable language
|
|
177
|
+
- Explain technical corrections in accessible terms
|
|
178
|
+
- Show your reasoning process when ambiguity exists
|
|
179
|
+
- Acknowledge uncertainty rather than overstate confidence
|
|
180
|
+
- Be encouraging while maintaining rigorous standards
|
|
181
|
+
- Provide context for why corrections matter
|
|
182
|
+
|
|
183
|
+
## Self-Verification and Quality Control
|
|
184
|
+
|
|
185
|
+
Before submitting your report, you will:
|
|
186
|
+
1. Verify you've checked all significant factual claims
|
|
187
|
+
2. Ensure all source URLs are working and relevant
|
|
188
|
+
3. Confirm your assessments are well-supported by evidence
|
|
189
|
+
4. Review that suggested corrections are clear and actionable
|
|
190
|
+
5. Check that priority issues are clearly highlighted
|
|
191
|
+
6. Ensure the overall assessment provides useful guidance
|
|
192
|
+
|
|
193
|
+
## When to Escalate or Seek Clarification
|
|
194
|
+
|
|
195
|
+
You should ask the user for clarification when:
|
|
196
|
+
- The document's scope or purpose is unclear
|
|
197
|
+
- You need access to internal documentation or proprietary information
|
|
198
|
+
- Claims require specialized domain expertise beyond your verification capabilities
|
|
199
|
+
- Multiple conflicting authoritative sources exist and expert judgment is needed
|
|
200
|
+
- The user's intent for specific claims is ambiguous
|
|
201
|
+
|
|
202
|
+
Remember: Your goal is to help ensure accuracy and credibility while supporting the author in creating trustworthy content. Be thorough, fair, and constructive. Your work directly impacts the author's credibility and the reader's trust, so maintain the highest standards while being a helpful collaborator.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "essentials-pack",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"agents": [
|
|
5
|
+
{
|
|
6
|
+
"name": "grimoire:fact-checker",
|
|
7
|
+
"path": "agents/gr.fact-checker.md",
|
|
8
|
+
"description": "Use this agent when you need to verify the accuracy of written content before publishing or sharing. Invoke when: (1) Drafting is complete and content contains factual claims like statistics, dates, technical specifications, or historical references; (2) Content is ready for final review before publishing; (3) Accuracy is critical for public-facing or decision-making materials."
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"skills": []
|
|
12
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "meta-pack",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"agents": [],
|
|
5
|
+
"skills": [
|
|
6
|
+
{
|
|
7
|
+
"name": "grimoire:context-file-guide",
|
|
8
|
+
"path": "skills/gr.context-file-guide",
|
|
9
|
+
"description": "Best practices for writing CLAUDE.md project context files. Use when creating, reviewing, or improving CLAUDE.md files for Claude Code projects.",
|
|
10
|
+
"triggers": {
|
|
11
|
+
"keywords": [],
|
|
12
|
+
"file_extensions": [],
|
|
13
|
+
"patterns": [
|
|
14
|
+
"create.*claude\\.md",
|
|
15
|
+
"write.*claude\\.md",
|
|
16
|
+
"review.*claude\\.md",
|
|
17
|
+
"improve.*claude\\.md",
|
|
18
|
+
"update.*claude\\.md"
|
|
19
|
+
],
|
|
20
|
+
"file_paths": [
|
|
21
|
+
"**/CLAUDE.md"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "grimoire:readme-guide",
|
|
27
|
+
"path": "skills/gr.readme-guide",
|
|
28
|
+
"description": "Create and review README files following industry best practices. Use for writing new READMEs, improving existing ones, checking README quality, or adding badges.",
|
|
29
|
+
"triggers": {
|
|
30
|
+
"keywords": [
|
|
31
|
+
"readme"
|
|
32
|
+
],
|
|
33
|
+
"file_extensions": [],
|
|
34
|
+
"patterns": [
|
|
35
|
+
"create.*readme",
|
|
36
|
+
"write.*readme",
|
|
37
|
+
"review.*readme",
|
|
38
|
+
"improve.*readme",
|
|
39
|
+
"update.*readme",
|
|
40
|
+
"repository.*description"
|
|
41
|
+
],
|
|
42
|
+
"file_paths": [
|
|
43
|
+
"**/README.md",
|
|
44
|
+
"**/README"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "grimoire:skill-developer",
|
|
50
|
+
"path": "skills/gr.skill-developer",
|
|
51
|
+
"description": "Create and maintain custom skills for Claude Code following official Anthropic patterns. Use when creating new skills, updating existing skills, or organizing skill documentation.",
|
|
52
|
+
"triggers": {
|
|
53
|
+
"keywords": [
|
|
54
|
+
"skill-developer",
|
|
55
|
+
"skill-authoring"
|
|
56
|
+
],
|
|
57
|
+
"file_extensions": [],
|
|
58
|
+
"patterns": [
|
|
59
|
+
"create.*skill",
|
|
60
|
+
"new.*skill",
|
|
61
|
+
"build.*skill",
|
|
62
|
+
"write.*skill",
|
|
63
|
+
"update.*skill",
|
|
64
|
+
"improve.*skill"
|
|
65
|
+
],
|
|
66
|
+
"file_paths": [
|
|
67
|
+
"**/.claude/skills/**/SKILL.md"
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|