@nebulacomponents/citable 0.1.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/CHANGELOG.md +26 -0
- package/LICENSE +201 -0
- package/README.md +150 -0
- package/cli/bin/citable.js +5 -0
- package/dist/universal/.agents/skills/citable/SKILL.md +137 -0
- package/dist/universal/.agents/skills/citable/VERSION +1 -0
- package/dist/universal/.agents/skills/citable/commands/README.md +36 -0
- package/dist/universal/.agents/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.agents/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.agents/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.agents/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.agents/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.agents/skills/citable/manifest.json +54 -0
- package/dist/universal/.agents/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.agents/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.agents/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.agents/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.agents/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.agents/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.agents/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.agents/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.agents/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.agents/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.agents/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.agents/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.agents/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.agents/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.agents/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.agents/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.agents/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.agents/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.agents/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.agents/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.agents/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.agents/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.agents/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.agents/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.agents/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.agents/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.agents/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.agents/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.agents/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.agents/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.agents/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.agents/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.agents/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.claude/skills/citable/SKILL.md +137 -0
- package/dist/universal/.claude/skills/citable/VERSION +1 -0
- package/dist/universal/.claude/skills/citable/commands/README.md +36 -0
- package/dist/universal/.claude/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.claude/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.claude/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.claude/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.claude/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.claude/skills/citable/manifest.json +54 -0
- package/dist/universal/.claude/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.claude/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.claude/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.claude/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.claude/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.claude/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.claude/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.claude/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.claude/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.claude/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.claude/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.claude/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.claude/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.claude/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.claude/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.claude/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.claude/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.claude/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.claude/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.claude/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.claude/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.claude/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.claude/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.claude/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.claude/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.claude/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.claude/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.claude/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.claude/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.claude/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.claude/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.claude/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.claude/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.cursor/skills/citable/SKILL.md +137 -0
- package/dist/universal/.cursor/skills/citable/VERSION +1 -0
- package/dist/universal/.cursor/skills/citable/commands/README.md +36 -0
- package/dist/universal/.cursor/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.cursor/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.cursor/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.cursor/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.cursor/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.cursor/skills/citable/manifest.json +54 -0
- package/dist/universal/.cursor/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.cursor/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.cursor/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.cursor/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.cursor/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.cursor/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.cursor/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.cursor/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.cursor/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.cursor/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.cursor/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.cursor/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.cursor/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.cursor/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.cursor/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.cursor/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.cursor/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.cursor/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.cursor/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.cursor/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.cursor/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.cursor/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.cursor/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.cursor/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.cursor/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.cursor/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.cursor/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.cursor/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.cursor/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.cursor/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.cursor/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.cursor/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.cursor/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.gemini/skills/citable/SKILL.md +137 -0
- package/dist/universal/.gemini/skills/citable/VERSION +1 -0
- package/dist/universal/.gemini/skills/citable/commands/README.md +36 -0
- package/dist/universal/.gemini/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.gemini/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.gemini/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.gemini/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.gemini/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.gemini/skills/citable/manifest.json +54 -0
- package/dist/universal/.gemini/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.gemini/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.gemini/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.gemini/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.gemini/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.gemini/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.gemini/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.gemini/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.gemini/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.gemini/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.gemini/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.gemini/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.gemini/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.gemini/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.gemini/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.gemini/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.gemini/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.gemini/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.gemini/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.gemini/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.gemini/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.gemini/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.gemini/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.gemini/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.gemini/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.gemini/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.gemini/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.gemini/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.gemini/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.gemini/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.gemini/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.gemini/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.gemini/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.github/skills/citable/SKILL.md +137 -0
- package/dist/universal/.github/skills/citable/VERSION +1 -0
- package/dist/universal/.github/skills/citable/commands/README.md +36 -0
- package/dist/universal/.github/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.github/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.github/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.github/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.github/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.github/skills/citable/manifest.json +54 -0
- package/dist/universal/.github/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.github/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.github/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.github/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.github/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.github/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.github/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.github/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.github/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.github/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.github/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.github/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.github/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.github/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.github/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.github/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.github/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.github/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.github/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.github/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.github/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.github/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.github/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.github/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.github/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.github/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.github/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.github/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.github/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.github/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.github/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.github/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.github/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.kiro/skills/citable/SKILL.md +137 -0
- package/dist/universal/.kiro/skills/citable/VERSION +1 -0
- package/dist/universal/.kiro/skills/citable/commands/README.md +36 -0
- package/dist/universal/.kiro/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.kiro/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.kiro/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.kiro/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.kiro/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.kiro/skills/citable/manifest.json +54 -0
- package/dist/universal/.kiro/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.kiro/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.kiro/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.kiro/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.kiro/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.kiro/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.kiro/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.kiro/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.kiro/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.kiro/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.kiro/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.kiro/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.kiro/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.kiro/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.kiro/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.kiro/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.kiro/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.kiro/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.kiro/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.kiro/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.kiro/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.kiro/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.kiro/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.kiro/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.kiro/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.kiro/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.kiro/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.kiro/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.kiro/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.kiro/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.kiro/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.kiro/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.kiro/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.opencode/skills/citable/SKILL.md +137 -0
- package/dist/universal/.opencode/skills/citable/VERSION +1 -0
- package/dist/universal/.opencode/skills/citable/commands/README.md +36 -0
- package/dist/universal/.opencode/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.opencode/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.opencode/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.opencode/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.opencode/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.opencode/skills/citable/manifest.json +54 -0
- package/dist/universal/.opencode/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.opencode/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.opencode/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.opencode/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.opencode/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.opencode/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.opencode/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.opencode/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.opencode/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.opencode/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.opencode/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.opencode/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.opencode/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.opencode/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.opencode/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.opencode/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.opencode/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.opencode/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.opencode/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.opencode/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.opencode/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.opencode/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.opencode/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.opencode/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.opencode/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.opencode/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.opencode/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.opencode/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.opencode/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.opencode/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.opencode/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.opencode/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.opencode/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.pi/agent/skills/citable/SKILL.md +137 -0
- package/dist/universal/.pi/agent/skills/citable/VERSION +1 -0
- package/dist/universal/.pi/agent/skills/citable/commands/README.md +36 -0
- package/dist/universal/.pi/agent/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.pi/agent/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.pi/agent/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.pi/agent/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.pi/agent/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.pi/agent/skills/citable/manifest.json +54 -0
- package/dist/universal/.pi/agent/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.pi/agent/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.pi/agent/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.pi/agent/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.pi/agent/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.pi/agent/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.qoder/skills/citable/SKILL.md +137 -0
- package/dist/universal/.qoder/skills/citable/VERSION +1 -0
- package/dist/universal/.qoder/skills/citable/commands/README.md +36 -0
- package/dist/universal/.qoder/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.qoder/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.qoder/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.qoder/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.qoder/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.qoder/skills/citable/manifest.json +54 -0
- package/dist/universal/.qoder/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.qoder/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.qoder/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.qoder/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.qoder/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.qoder/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.qoder/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.qoder/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.qoder/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.qoder/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.qoder/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.qoder/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.qoder/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.qoder/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.qoder/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.qoder/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.qoder/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.qoder/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.qoder/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.qoder/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.qoder/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.qoder/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.qoder/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.qoder/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.qoder/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.qoder/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.qoder/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.qoder/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.qoder/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.qoder/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.qoder/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.qoder/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.qoder/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.rovodev/skills/citable/SKILL.md +137 -0
- package/dist/universal/.rovodev/skills/citable/VERSION +1 -0
- package/dist/universal/.rovodev/skills/citable/commands/README.md +36 -0
- package/dist/universal/.rovodev/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.rovodev/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.rovodev/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.rovodev/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.rovodev/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.rovodev/skills/citable/manifest.json +54 -0
- package/dist/universal/.rovodev/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.rovodev/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.rovodev/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.rovodev/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.rovodev/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.rovodev/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.rovodev/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.rovodev/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.rovodev/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.rovodev/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.rovodev/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.rovodev/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.rovodev/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.rovodev/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.rovodev/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.rovodev/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.rovodev/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.rovodev/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.rovodev/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.rovodev/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.rovodev/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.trae/skills/citable/SKILL.md +137 -0
- package/dist/universal/.trae/skills/citable/VERSION +1 -0
- package/dist/universal/.trae/skills/citable/commands/README.md +36 -0
- package/dist/universal/.trae/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.trae/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.trae/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.trae/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.trae/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.trae/skills/citable/manifest.json +54 -0
- package/dist/universal/.trae/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.trae/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.trae/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.trae/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.trae/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.trae/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.trae/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.trae/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.trae/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.trae/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.trae/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.trae/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.trae/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.trae/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.trae/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.trae/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.trae/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.trae/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.trae/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.trae/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.trae/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.trae/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.trae/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.trae/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.trae/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.trae/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.trae/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.trae/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.trae/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.trae/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.trae/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.trae/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.trae/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/.trae-cn/skills/citable/SKILL.md +137 -0
- package/dist/universal/.trae-cn/skills/citable/VERSION +1 -0
- package/dist/universal/.trae-cn/skills/citable/commands/README.md +36 -0
- package/dist/universal/.trae-cn/skills/citable/commands/ingest.md +44 -0
- package/dist/universal/.trae-cn/skills/citable/commands/measurement.md +49 -0
- package/dist/universal/.trae-cn/skills/citable/commands/optimize-page.md +53 -0
- package/dist/universal/.trae-cn/skills/citable/commands/page-work.md +48 -0
- package/dist/universal/.trae-cn/skills/citable/commands/validate-render.md +24 -0
- package/dist/universal/.trae-cn/skills/citable/manifest.json +54 -0
- package/dist/universal/.trae-cn/skills/citable/policies/crawler-policy-template.md +47 -0
- package/dist/universal/.trae-cn/skills/citable/references/anti-patterns.md +61 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/README.md +30 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/answer-extractability.md +44 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/claim-boundedness.md +36 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/comparison-fairness.md +30 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/conversion-alignment.md +37 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/entity-clarity.md +41 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/evidence-strength.md +53 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/information-gain.md +33 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/intent-alignment.md +41 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/narrative-accuracy.md +46 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/recommendation-eligibility.md +36 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/semantic-clarity.md +42 -0
- package/dist/universal/.trae-cn/skills/citable/rubrics/source-authority.md +37 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/claim.schema.json +53 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/common.defs.json +33 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/competitor.schema.json +28 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/config.schema.json +41 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/crawler.schema.json +33 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/detector-quality.schema.json +39 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/entity.schema.json +39 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/evidence.schema.json +41 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/experiment.schema.json +37 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/finding.schema.json +101 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/page.schema.json +40 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/project.schema.json +29 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/prompt-result.schema.json +37 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/prompt.schema.json +41 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/query.schema.json +43 -0
- package/dist/universal/.trae-cn/skills/citable/schemas/run.schema.json +36 -0
- package/dist/universal/.trae-cn/skills/citable/scripts/README.md +4 -0
- package/dist/universal/.trae-cn/skills/citable/templates/finding-review.md +54 -0
- package/dist/universal/manifest.json +598 -0
- package/package.json +89 -0
- package/schemas/claim.schema.json +53 -0
- package/schemas/common.defs.json +33 -0
- package/schemas/competitor.schema.json +28 -0
- package/schemas/config.schema.json +41 -0
- package/schemas/crawler.schema.json +33 -0
- package/schemas/detector-quality.schema.json +39 -0
- package/schemas/entity.schema.json +39 -0
- package/schemas/evidence.schema.json +41 -0
- package/schemas/experiment.schema.json +37 -0
- package/schemas/finding.schema.json +101 -0
- package/schemas/page.schema.json +40 -0
- package/schemas/project.schema.json +29 -0
- package/schemas/prompt-result.schema.json +37 -0
- package/schemas/prompt.schema.json +41 -0
- package/schemas/query.schema.json +43 -0
- package/schemas/run.schema.json +36 -0
- package/scripts/build-dist.js +143 -0
- package/skill/SKILL.md +137 -0
- package/skill/commands/README.md +36 -0
- package/skill/commands/ingest.md +44 -0
- package/skill/commands/measurement.md +49 -0
- package/skill/commands/optimize-page.md +53 -0
- package/skill/commands/page-work.md +48 -0
- package/skill/commands/validate-render.md +24 -0
- package/skill/policies/crawler-policy-template.md +47 -0
- package/skill/references/anti-patterns.md +61 -0
- package/skill/rubrics/README.md +30 -0
- package/skill/rubrics/answer-extractability.md +44 -0
- package/skill/rubrics/claim-boundedness.md +36 -0
- package/skill/rubrics/comparison-fairness.md +30 -0
- package/skill/rubrics/conversion-alignment.md +37 -0
- package/skill/rubrics/entity-clarity.md +41 -0
- package/skill/rubrics/evidence-strength.md +53 -0
- package/skill/rubrics/information-gain.md +33 -0
- package/skill/rubrics/intent-alignment.md +41 -0
- package/skill/rubrics/narrative-accuracy.md +46 -0
- package/skill/rubrics/recommendation-eligibility.md +36 -0
- package/skill/rubrics/semantic-clarity.md +42 -0
- package/skill/rubrics/source-authority.md +37 -0
- package/skill/templates/finding-review.md +54 -0
- package/src/cli/index.js +135 -0
- package/src/commands/audit.js +111 -0
- package/src/commands/compareSnapshots.js +48 -0
- package/src/commands/context.js +62 -0
- package/src/commands/init.js +111 -0
- package/src/commands/inspect.js +61 -0
- package/src/commands/mapClaims.js +89 -0
- package/src/commands/schemaCmd.js +71 -0
- package/src/commands/substantiate.js +121 -0
- package/src/commands/validate.js +27 -0
- package/src/crawler/fetch.js +31 -0
- package/src/crawler/robots.js +67 -0
- package/src/crawler/sitemap.js +25 -0
- package/src/detectors/ans.js +219 -0
- package/src/detectors/arch.js +154 -0
- package/src/detectors/claim.js +230 -0
- package/src/detectors/crawl.js +143 -0
- package/src/detectors/entity.js +202 -0
- package/src/detectors/evd.js +164 -0
- package/src/detectors/framework.js +137 -0
- package/src/detectors/geoReco.js +218 -0
- package/src/detectors/index.js +50 -0
- package/src/detectors/lifeMeas.js +212 -0
- package/src/detectors/link.js +121 -0
- package/src/detectors/page.js +202 -0
- package/src/detectors/schemaData.js +249 -0
- package/src/detectors/tech.js +397 -0
- package/src/evidence/run.js +88 -0
- package/src/extractor/page.js +125 -0
- package/src/extractor/site.js +175 -0
- package/src/installer/index.js +1117 -0
- package/src/installer/providers.js +164 -0
- package/src/registries/index.js +127 -0
- package/src/reporting/report.js +82 -0
- package/src/shared/io.js +56 -0
- package/src/shared/schemaValidator.js +29 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
command: /citable optimize-page
|
|
3
|
+
purpose: Improve one page's retrieval eligibility, answer clarity, entity relationships, and internal links while preserving its conversion role and claim boundaries.
|
|
4
|
+
inputs: [page reference (URL path or source file), site target]
|
|
5
|
+
optional_inputs: [specific findings to address, ref-date]
|
|
6
|
+
preconditions:
|
|
7
|
+
- .citable/ initialized; page present in page registry (else run inspect + register first)
|
|
8
|
+
- repository build and test commands known (project.yaml)
|
|
9
|
+
- working tree clean or user-acknowledged
|
|
10
|
+
registries_read: [pages, queries, prompts, entities, claims, evidence]
|
|
11
|
+
registries_written: [pages (metadata only), claims (surface updates)]
|
|
12
|
+
detectors_run: [all page-scoped detectors before and after]
|
|
13
|
+
artifacts_created: [before/after inspect output, diff, post-change audit run]
|
|
14
|
+
refusal_conditions:
|
|
15
|
+
- page carries regulated claims and no factual_reviewer is assigned
|
|
16
|
+
- requested change matches a ⛔ anti-pattern
|
|
17
|
+
- required facts (pricing, ICP, limitations) are unknown → blocked with required_input
|
|
18
|
+
failure_behaviour: build or render failure → report command, exit code, error output; no success status
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Workflow
|
|
22
|
+
|
|
23
|
+
1. `citable inspect <page> --target <built-output>` — capture the BEFORE state
|
|
24
|
+
(intent, entities, claims, findings, conversion action, ambiguity list).
|
|
25
|
+
2. Read the page registry entry: intended query and prompt coverage, conversion
|
|
26
|
+
role, lifecycle class. If ambiguity list is non-empty, resolve registry
|
|
27
|
+
gaps before editing content.
|
|
28
|
+
3. Order of work (never reversed):
|
|
29
|
+
a. **Technical defects first** — status, canonical, robots, sitemap, links
|
|
30
|
+
(TECH/LINK findings).
|
|
31
|
+
b. **Semantic ambiguity** — apply semantic-clarity and intent-alignment
|
|
32
|
+
rubrics; fix subject/category/terminology drift.
|
|
33
|
+
c. **Answer clarity** — direct answer block in first 50–100 words; atomic
|
|
34
|
+
claims; evidence adjacent; scope and exclusions in-passage
|
|
35
|
+
(answer-extractability rubric; ANS findings).
|
|
36
|
+
d. **Claim boundaries** — every edited claim keeps its registered scope and
|
|
37
|
+
exclusions verbatim or narrower; never broaden while "polishing".
|
|
38
|
+
Attach evidence references beside claims.
|
|
39
|
+
e. **Entity relationships & internal links** — upward hub link, lateral
|
|
40
|
+
related links, commercial next step; descriptive anchors.
|
|
41
|
+
f. **Schema** — only where justified by registry data (`citable schema`
|
|
42
|
+
proposals); never hand-add assertions.
|
|
43
|
+
4. Style constraints: no keyword stuffing (PAGE-009 must not newly fire), no
|
|
44
|
+
generic AI prose (ANS-001 must not newly fire), match the site's voice.
|
|
45
|
+
5. Preserve the conversion role — apply the conversion-alignment rubric; the
|
|
46
|
+
registered conversion_action must remain present and reachable.
|
|
47
|
+
6. Build the project with the recorded build command. If it fails → failure
|
|
48
|
+
behaviour, stop.
|
|
49
|
+
7. Re-audit: `citable audit --target <built-output>` and
|
|
50
|
+
`citable compare-snapshots` — the page's prior findings should resolve and
|
|
51
|
+
no new critical/high findings may appear.
|
|
52
|
+
8. Report: findings resolved, findings remaining (with reasons), unresolved
|
|
53
|
+
conditions, registry diffs, and the run IDs of before/after evidence packages.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
command: /citable create-page, answer-block, architect, interlink, consolidate, metadata
|
|
3
|
+
purpose: Page-construction and architecture workflows sharing optimize-page's guardrails.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# create-page
|
|
7
|
+
1. Preconditions: a registered query/prompt with no existing target (else it's
|
|
8
|
+
ARCH-004 territory — consolidate instead); an assigned content owner; the
|
|
9
|
+
facts the page needs (from registries and operator), never invented.
|
|
10
|
+
2. Compose per the generative-ready pattern: canonical answer (50–100 words) →
|
|
11
|
+
definition + exclusions → why it matters (operational, not marketing) →
|
|
12
|
+
mechanism → evidence → comparison → boundary conditions → implementation →
|
|
13
|
+
revision metadata → related entities.
|
|
14
|
+
3. Claims on the page must pre-exist in the claim registry (or be added as
|
|
15
|
+
candidates and pass substantiate + evidence-strength review before launch).
|
|
16
|
+
4. Register the page; run post-modification validation (build → audit →
|
|
17
|
+
compare-snapshots).
|
|
18
|
+
|
|
19
|
+
# answer-block
|
|
20
|
+
Insert/repair a direct answer block on an existing page. Constraints: the block
|
|
21
|
+
answers the page's principal question, is self-contained (answer-extractability
|
|
22
|
+
rubric), includes in-passage scope, and does not displace the conversion action
|
|
23
|
+
(conversion-alignment rubric). Verify ANS-001/002/008 do not fire afterwards.
|
|
24
|
+
|
|
25
|
+
# architect
|
|
26
|
+
Propose site/topic architecture: one canonical URL per material intent,
|
|
27
|
+
hub-and-spoke relationships, shallow depth for priority pages, separation of
|
|
28
|
+
informational and transactional intents. Output is a written proposal +
|
|
29
|
+
page-registry changes in `draft`; it never mass-moves URLs without a migration
|
|
30
|
+
plan (redirect map, sitemap regeneration, canonical updates) recorded first.
|
|
31
|
+
|
|
32
|
+
# interlink
|
|
33
|
+
Add internal links only where a semantic relationship exists in the registries
|
|
34
|
+
(same topic entities, claim→evidence, spoke→hub, implementation→commercial
|
|
35
|
+
next step). Descriptive anchors; never bulk term-matched insertion (LINK-004).
|
|
36
|
+
Verify LINK-001/002/003 and ARCH-001/002/006 after.
|
|
37
|
+
|
|
38
|
+
# consolidate
|
|
39
|
+
For ARCH-004/005 findings: choose the survivor URL (stronger inbound links +
|
|
40
|
+
better intent fit), merge unique content preserving claim boundaries, 301 the
|
|
41
|
+
losers, update sitemap + canonicals + registry (losers → status retired with
|
|
42
|
+
successor recorded), rerun audit. Never delete content that is the only
|
|
43
|
+
publication surface of an active claim without re-homing the claim.
|
|
44
|
+
|
|
45
|
+
# metadata
|
|
46
|
+
Title/description work: titles identify and differentiate (PAGE-001/002),
|
|
47
|
+
descriptions summarize accurately and never promise absent content. Both are
|
|
48
|
+
derived from page substance — metadata never asserts what the page doesn't say.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
command: /citable validate-render
|
|
3
|
+
purpose: Confirm answer-bearing content exists in served HTML, not only after client-side rendering.
|
|
4
|
+
preconditions: [build command known, built output or deployed URL available]
|
|
5
|
+
failure_behaviour: build/render failure → preserve command, exit code, stderr; status incomplete, never success
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Workflow
|
|
9
|
+
|
|
10
|
+
1. Build with the project's recorded build command. Non-zero exit → stop,
|
|
11
|
+
report failure evidence.
|
|
12
|
+
2. Run `citable audit technical --target <built-output>`; TECH-011
|
|
13
|
+
(render-dependent primary content) is the primary detector here.
|
|
14
|
+
3. For each index-target page, compare extracted text of the initial HTML with
|
|
15
|
+
the intended primary content (title, H1, canonical answer, claims). Content
|
|
16
|
+
present only in JS payloads, accordions requiring interaction, images,
|
|
17
|
+
PDFs, or canvas → finding with the specific missing passages.
|
|
18
|
+
4. If a headless browser is available in the environment, render and diff
|
|
19
|
+
initial vs rendered text to quantify the gap; if not, record
|
|
20
|
+
`incomplete_checks: rendered comparison unavailable in this environment` —
|
|
21
|
+
do not extrapolate.
|
|
22
|
+
5. Verdict per page: `server_rendered | hybrid_acceptable | render_dependent |
|
|
23
|
+
not_determined`. Never report site-wide success while any check is
|
|
24
|
+
not_determined without listing it.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "citable",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"managedBy": "citable-cli",
|
|
5
|
+
"provider": "codex",
|
|
6
|
+
"providerName": "OpenAI Codex",
|
|
7
|
+
"scope": "bundle",
|
|
8
|
+
"sourcePackage": "@nebulacomponents/citable@0.1.0",
|
|
9
|
+
"variantPath": ".agents/skills/citable",
|
|
10
|
+
"files": {
|
|
11
|
+
"commands/ingest.md": "sha256:cf35659aecd9d0e160909003efdbe056864fc5d824c71b4ef0ee801ce07ff598",
|
|
12
|
+
"commands/measurement.md": "sha256:3550b1e747c5a38cdb712016b9bc773d93596bc4d1b49a309f9cddd816c1b662",
|
|
13
|
+
"commands/optimize-page.md": "sha256:35866f3d7cdeef0376ea7a7d7036085a9b9cf95bbb300ecf4bd77610ebd74d85",
|
|
14
|
+
"commands/page-work.md": "sha256:965a66e59bdf7b0da482d26fade53b3d265885ece5d463fe83b0789ebefaef3e",
|
|
15
|
+
"commands/README.md": "sha256:13774e705356b9eafb42aa522cc10337d86dfb973d533976f041a21819fb6cb4",
|
|
16
|
+
"commands/validate-render.md": "sha256:a8e1d04d40b84d57c35039250d98c6a7302cd44a148a8c3b9d9cfb92678c4347",
|
|
17
|
+
"policies/crawler-policy-template.md": "sha256:15c88a4eeb21f53f71e5250dd3eb2d2791a814b304eaefce8bb30e2bdf2e2e59",
|
|
18
|
+
"references/anti-patterns.md": "sha256:de63f8e646af0fbf479b45eb1d050ae62a8637acc320d21b87e4a083fd4c47e7",
|
|
19
|
+
"rubrics/answer-extractability.md": "sha256:c8e741143c34e53afdb3dc7b6976ce7b4485dce13b12d14c193fccb17bacf1da",
|
|
20
|
+
"rubrics/claim-boundedness.md": "sha256:0bab1b85248c252b966175912ebfae13bf18aa7e41573f7466831ac78b5d3e27",
|
|
21
|
+
"rubrics/comparison-fairness.md": "sha256:7afc86903aa4a695060be7b6bca42ba505c106ea7cfa153344189afc5b78a5ba",
|
|
22
|
+
"rubrics/conversion-alignment.md": "sha256:85882736cd15320e5af5a872fd4263b5c40ec202c39023e8eb416848f942905e",
|
|
23
|
+
"rubrics/entity-clarity.md": "sha256:5b8003019fe81cf055757bee059eeb56f92753a683a0f94f7641143b88a29e74",
|
|
24
|
+
"rubrics/evidence-strength.md": "sha256:c9b9ea2454ba9e71e42909060821b24703bf6afe39b9a324e01fe234138af71c",
|
|
25
|
+
"rubrics/information-gain.md": "sha256:97bb02015efeca9b83fc503c7f2e4dadad1358cb47453dfa36d76bc0cac71ceb",
|
|
26
|
+
"rubrics/intent-alignment.md": "sha256:16ca19bfeb4e58ea4910a2e212a935bcfeeaaa06a66b34834f82f2e79439cc87",
|
|
27
|
+
"rubrics/narrative-accuracy.md": "sha256:0e0671175329c4da78855514ac1512d16a22217ca8694ca4a283d4d604b89028",
|
|
28
|
+
"rubrics/README.md": "sha256:d80b94d44b5a4e0fe9b6e1708a2f6d6a156a1aec5b4d4a632669803dd8b67d1e",
|
|
29
|
+
"rubrics/recommendation-eligibility.md": "sha256:38d2055fc5f6ab5e40fd1b48de4e0518fc4382da0b7062ad09c5afebcc673fc3",
|
|
30
|
+
"rubrics/semantic-clarity.md": "sha256:66d9f4843a4a620ea8c00625c5e17c02baeaa373f2b445ce13de6f81d78ec7ba",
|
|
31
|
+
"rubrics/source-authority.md": "sha256:8dbfe46bdcd0b5351f038be503601268c7d0abb9bed83be9ca58bf54dec5a73b",
|
|
32
|
+
"schemas/claim.schema.json": "sha256:70c521e51a24031a1e1f73eca04c2a2650e760f3fdc82e9553eb26c0b5c428e9",
|
|
33
|
+
"schemas/common.defs.json": "sha256:1ae1ae4a9b0babadbcba3288dd3d1adb3e152f87f1e51c08a397a0f29878e95f",
|
|
34
|
+
"schemas/competitor.schema.json": "sha256:7d34c1f131eba23d94404921c4defbdabb402f83bc5a748a1de40fbe89d65cca",
|
|
35
|
+
"schemas/config.schema.json": "sha256:a87f3bb0087de09035b9f2dafea66e32e4fcc2e3e329abcd0fd8a5ec33318f2a",
|
|
36
|
+
"schemas/crawler.schema.json": "sha256:0541de509d0b5de065e1dd3ff52212ba389eaf7f5a9c2309b5e5beb232b4b356",
|
|
37
|
+
"schemas/detector-quality.schema.json": "sha256:5e9e1ac80b1198a0ff8fa17b9f7a543d3ccf3ed3d60196152f6ff095cfdebccd",
|
|
38
|
+
"schemas/entity.schema.json": "sha256:12f9222122255c86059185bc66e528e2828b430f7abc5683e6759774eb555553",
|
|
39
|
+
"schemas/evidence.schema.json": "sha256:a78d39cd1d66c89198b0ecc9af48c8d3d8659c7b5cbb9f96c43d18fcf2b4aeb7",
|
|
40
|
+
"schemas/experiment.schema.json": "sha256:704ea5c14cd4409c3a1806b8b1c124bcd9f2fe9e313dfa93662889bed0cb6441",
|
|
41
|
+
"schemas/finding.schema.json": "sha256:2366bbbd0f6359ecc8d262979b159811ad10d2eaacc4816d5075bc6f7e9efc13",
|
|
42
|
+
"schemas/page.schema.json": "sha256:195d2f91d67550627c7047fd8e98d08dc386bc5858a02239d6c23b99193eaac2",
|
|
43
|
+
"schemas/project.schema.json": "sha256:ea48fdb6480f7047ba4594bd5908bc1f79c1ad6b9a2c204df900959b5f203dc6",
|
|
44
|
+
"schemas/prompt-result.schema.json": "sha256:b55be47d7d58d7b1dd8c3b1e849e24e55216212c592cde7eb836953379b85737",
|
|
45
|
+
"schemas/prompt.schema.json": "sha256:69782525f9de3a9f92649f2bc2fb4a0b2ed4288d6028663b18e39918c9f7fca1",
|
|
46
|
+
"schemas/query.schema.json": "sha256:59829f78461f115d73486e6350dcea5daf5a8e77576013b7a6d25913f240c55d",
|
|
47
|
+
"schemas/run.schema.json": "sha256:46c3178620f3a358d936d535aeadb83454b9b35b551e53e6615cc9862063dacb",
|
|
48
|
+
"scripts/README.md": "sha256:1c3e952950ef353849621b07c5f615bf7cd20cc5654da4635492a7bd6384e747",
|
|
49
|
+
"SKILL.md": "sha256:637bb755bca6a2225c5b69edab0b8be7dff294e784d7ce25cec23546b847324c",
|
|
50
|
+
"templates/finding-review.md": "sha256:b270a83d3f015150aac80249ae9314979c0befea39ff92ec455f9a5aaa73404c",
|
|
51
|
+
"VERSION": "sha256:e9dd8507f4bf0c6f42458e41aea833ad0bd3f6127272335eee9bf4d58541ed67"
|
|
52
|
+
},
|
|
53
|
+
"treeHash": "sha256:7b3f30bfd6e7c79f549a4ca9a2269a32afa899a995437ed9b1b8d7e86d562bf2"
|
|
54
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Crawler policy template
|
|
2
|
+
|
|
3
|
+
Access is decided **per crawler and per purpose**. Search-crawler allowance is
|
|
4
|
+
never permission for model training (premise 3.3). Every decision needs an
|
|
5
|
+
owner, business rationale, legal rationale, and review date in
|
|
6
|
+
`.citable/crawlers.yaml`; robots.txt is generated to match (CRAWL-001 verifies
|
|
7
|
+
the two agree).
|
|
8
|
+
|
|
9
|
+
| Crawler | Vendor | Purpose | Decision defaults to |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| Googlebot | Google | search_indexing (also gates AI features eligibility) | undecided → usually allow |
|
|
12
|
+
| Bingbot | Microsoft | search_indexing (also Copilot surfaces) | undecided |
|
|
13
|
+
| OAI-SearchBot | OpenAI | ai_search_discovery (ChatGPT search citation) | undecided |
|
|
14
|
+
| GPTBot | OpenAI | model_training | undecided — separate decision, legal owner |
|
|
15
|
+
| ChatGPT-User | OpenAI | user_initiated_retrieval | undecided — separate decision |
|
|
16
|
+
| PerplexityBot | Perplexity | ai_search_discovery | undecided |
|
|
17
|
+
| Perplexity-User | Perplexity | user_initiated_retrieval | undecided |
|
|
18
|
+
| ClaudeBot | Anthropic | model_training (verify current vendor docs) | undecided |
|
|
19
|
+
|
|
20
|
+
Rules:
|
|
21
|
+
|
|
22
|
+
1. `undecided` is a temporary state; CRAWL-006 flags it. A decision requires
|
|
23
|
+
decision_owner + rationale.
|
|
24
|
+
2. Allowing a vendor's search crawler without recording a training-crawler
|
|
25
|
+
decision for the same vendor is flagged (CRAWL-002).
|
|
26
|
+
3. Vendor documentation URLs and IP-validation methods are recorded per entry;
|
|
27
|
+
user-agent strings are spoofable and must not be the sole trust basis.
|
|
28
|
+
4. Robots semantics: robots.txt controls crawling, not indexing. Use `noindex`
|
|
29
|
+
when removal from search results is the objective (TECH-003 remediation).
|
|
30
|
+
5. Blocked-crawler decisions must state whether the block covers licensed or
|
|
31
|
+
partner access paths too, or only public crawling.
|
|
32
|
+
|
|
33
|
+
Example generated robots.txt for: search allowed, OpenAI search allowed,
|
|
34
|
+
training blocked:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
User-agent: GPTBot
|
|
38
|
+
Disallow: /
|
|
39
|
+
|
|
40
|
+
User-agent: ClaudeBot
|
|
41
|
+
Disallow: /
|
|
42
|
+
|
|
43
|
+
User-agent: *
|
|
44
|
+
Allow: /
|
|
45
|
+
|
|
46
|
+
Sitemap: https://example.com/sitemap.xml
|
|
47
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Citable anti-pattern library
|
|
2
|
+
|
|
3
|
+
Canonical reference used by all commands. When a requested change matches an
|
|
4
|
+
entry, name it, state the risk, and offer the defensible alternative. Entries
|
|
5
|
+
marked ⛔ must be refused outright (premise 3.6), not merely discouraged.
|
|
6
|
+
|
|
7
|
+
## Content anti-patterns
|
|
8
|
+
|
|
9
|
+
| Anti-pattern | Risk | Defensible alternative |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| Generic AI introductions ("In today's rapidly evolving landscape…") | Suppresses answer extraction; signals commodity content (ANS-001) | Direct answer in the first 50–100 words |
|
|
12
|
+
| Excessive preamble before the answer | Passage extraction pulls filler instead of the claim | Lead with the canonical answer block |
|
|
13
|
+
| Keyword stuffing | Spam-policy exposure; unreadable prose (PAGE-009) | Semantic coverage driven by explanation needs |
|
|
14
|
+
| Synthetic information gain (rewriting top results) | No citation reason; no durable differentiation | Original data, experience, taxonomy, benchmarks |
|
|
15
|
+
| Repeated conclusions / decorative FAQs | Dilutes extractable claims; FAQ schema risk (SCHEMA-007) | One canonical answer location per question |
|
|
16
|
+
| ⛔ False precision / unsupported statistics | Legal + reputational; CLAIM-004/ANS-005 | Publish numbers only with methodology and period |
|
|
17
|
+
| Circular definitions | Engine cannot anchor the concept (ANS-003) | Genus–differentia definition plus exclusions |
|
|
18
|
+
| ⛔ Fake comparisons / unbounded superlatives | Deceptive-claim exposure (CLAIM-007) | Explicit comparison set, criteria, and evidence |
|
|
19
|
+
| ⛔ Invented expertise / anonymous substantive content | E-E-A-T failure; regulatory exposure | Real named authors with verifiable profiles |
|
|
20
|
+
| Hidden commercial bias | Undisclosed endorsement liability | Disclose commercial relationships |
|
|
21
|
+
| Duplicated programmatic prose | Index bloat, quality dilution | Programmatic pages only with unique data + owner |
|
|
22
|
+
|
|
23
|
+
## Technical anti-patterns
|
|
24
|
+
|
|
25
|
+
| Anti-pattern | Risk | Defensible alternative |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| "Index everything" | Crawl waste, quality dilution | Deliberate indexing_intent per page |
|
|
28
|
+
| Schema saturation | Invisible-assertion violations | Schema only for visible, registry-backed facts |
|
|
29
|
+
| Sitemap dumping (redirects, 404s, non-canonicals) | TECH-008/009/010 | Generate sitemaps from the canonical URL set |
|
|
30
|
+
| Canonical misuse (variants → irrelevant page, pagination → page 1) | Signal consolidation failures | One canonical per distinct content object |
|
|
31
|
+
| JavaScript-only primary content | Render-stage failure (TECH-011) | SSR/SSG for answer-bearing content |
|
|
32
|
+
| ⛔ Crawler cloaking / bot-specific deceptive rendering | Spam-policy removal | Serve equivalent content to bots and users |
|
|
33
|
+
| Unbounded faceted URLs | Index bloat, crawl waste | Controlled parameters + canonical rules |
|
|
34
|
+
| Redirect-dependent architecture | Chain latency, signal loss (TECH-013) | Direct links to final URLs |
|
|
35
|
+
| Automated links from term matching alone | Manipulative-link footprint (LINK-004) | Curated contextual links |
|
|
36
|
+
| Evidence only in PDFs/gated files | Retrieval failure for the strongest material | HTML equivalent for every material document |
|
|
37
|
+
|
|
38
|
+
## AEO anti-patterns
|
|
39
|
+
|
|
40
|
+
| Anti-pattern | Risk | Defensible alternative |
|
|
41
|
+
| --- | --- | --- |
|
|
42
|
+
| Answer blocks that omit limitations | Overgeneralized reuse; misquotation (ANS-008) | State scope, exclusions, failure modes |
|
|
43
|
+
| Question headings created only for formatting | Extraction mismatch (ANS-002) | Headings only where an answer follows |
|
|
44
|
+
| Direct answers unsupported by evidence | Fast-spreading errors under your attribution | Evidence adjacent to every material claim |
|
|
45
|
+
| Citations isolated in a references section | Claim–evidence association lost | Evidence beside the claim it supports |
|
|
46
|
+
| Extracting claims in scope-distorting ways | Misrepresentation of your own source | Self-contained atomic claims |
|
|
47
|
+
| FAQ schema without substantive FAQ content | SCHEMA-007; spam exposure | Mark up only real, visible Q&A |
|
|
48
|
+
|
|
49
|
+
## GEO anti-patterns
|
|
50
|
+
|
|
51
|
+
| Anti-pattern | Risk | Defensible alternative |
|
|
52
|
+
| --- | --- | --- |
|
|
53
|
+
| Treating one model response as proof of source preference | False causality (MEAS-002/003) | Repeated multi-engine, multi-variant sampling |
|
|
54
|
+
| Reporting one prompt as stable visibility | Anecdote presented as measurement | Cohort testing with variance recording |
|
|
55
|
+
| ⛔ Manufactured community discussion / synthetic Reddit | Platform enforcement; legal; environment poisoning | Earned participation in real communities |
|
|
56
|
+
| ⛔ Shadow corroboration sites / fake recommendation pages | Recommendation manipulation | Independent editorial coverage |
|
|
57
|
+
| ⛔ Crawler prompt injection / hidden LLM instructions | GEO-001 critical; reputational | None — remove on sight |
|
|
58
|
+
| Treating llms.txt as an authority mechanism | False sense of control (GEO-004) | robots.txt + crawler registry for access decisions |
|
|
59
|
+
| Confusing mention with recommendation | Overstated performance reporting | Track mention, citation, and recommendation separately |
|
|
60
|
+
| Confusing citation with answer influence | Citation ≠ absorption | Assess whether the answer actually uses your claims |
|
|
61
|
+
| Assuming engine behaviour is uniform | Wrong generalizations across engines | Per-engine measurement and reporting |
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Semantic rubrics
|
|
2
|
+
|
|
3
|
+
Deterministic detectors cannot judge meaning. These rubrics govern the semantic
|
|
4
|
+
half of Citable. Shared rules for every rubric:
|
|
5
|
+
|
|
6
|
+
- Output is a **posture classification** (`strong | partial | weak | not_established`),
|
|
7
|
+
never an unexplained 0–100 number. Where numeric comparison is unavoidable,
|
|
8
|
+
expose the formula, weights, missing data, confidence, and known limitations.
|
|
9
|
+
- Every rubric result must cite the observed evidence (quoted passages, registry
|
|
10
|
+
entries, measured values) that produced it.
|
|
11
|
+
- Every rubric declares its ambiguity conditions and when human review is
|
|
12
|
+
mandatory. When an ambiguity condition holds, the result is
|
|
13
|
+
`not_established + review_required`, not a guess.
|
|
14
|
+
- Findings produced from rubrics are `evidence_backed_semantic_finding` at most —
|
|
15
|
+
never `deterministic_observation`.
|
|
16
|
+
|
|
17
|
+
| Rubric | File | Human review mandatory when |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| Semantic clarity | semantic-clarity.md | Term is jurisdiction- or discipline-specific |
|
|
20
|
+
| Intent alignment | intent-alignment.md | Commercial vs informational intent is contested |
|
|
21
|
+
| Answer extractability | answer-extractability.md | Extraction would change claim scope |
|
|
22
|
+
| Entity clarity | entity-clarity.md | Legal identity vs operating identity diverges |
|
|
23
|
+
| Claim boundedness | claim-boundedness.md | Claim is regulated, contractual, or comparative |
|
|
24
|
+
| Evidence strength | evidence-strength.md | Any upgrade toward verified status |
|
|
25
|
+
| Source authority | source-authority.md | Source independence is uncertain |
|
|
26
|
+
| Information gain | information-gain.md | Gain rests on unpublished internal data |
|
|
27
|
+
| Comparison fairness | comparison-fairness.md | Named competitors appear |
|
|
28
|
+
| Recommendation eligibility | recommendation-eligibility.md | Pricing/geography/ICP data incomplete |
|
|
29
|
+
| Conversion alignment | conversion-alignment.md | Page has no declared conversion action |
|
|
30
|
+
| Narrative accuracy | narrative-accuracy.md | Contradiction involves legal or security facts |
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Rubric: answer extractability
|
|
2
|
+
|
|
3
|
+
Judges whether a page's principal answer survives being lifted out of the page
|
|
4
|
+
without distortion. Complements deterministic ANS-00x detectors.
|
|
5
|
+
|
|
6
|
+
## Scoring dimensions
|
|
7
|
+
|
|
8
|
+
1. **Position** — canonical answer within the first 50–100 words after the H1.
|
|
9
|
+
2. **Self-containment** — passage names its subject explicitly; no deictic
|
|
10
|
+
references ("as shown above"), no pronoun whose referent is outside the passage.
|
|
11
|
+
3. **Atomicity** — one claim per key sentence; each independently understandable.
|
|
12
|
+
4. **Scope survival** — if the passage is quoted alone, its conditions and
|
|
13
|
+
exclusions travel with it (in-sentence, not three paragraphs later).
|
|
14
|
+
5. **Definition quality** — "[Term] is [genus] that [differentia]" plus explicit
|
|
15
|
+
"It does not include…".
|
|
16
|
+
6. **Structural support** — procedures as ordered steps; comparisons with stated
|
|
17
|
+
basis and prose equivalent of any table.
|
|
18
|
+
|
|
19
|
+
## Posture
|
|
20
|
+
|
|
21
|
+
- `strong`: dimensions 1–4 all hold for the page's principal question.
|
|
22
|
+
- `partial`: answer present but scope/exclusions live outside the extractable span.
|
|
23
|
+
- `weak`: answer buried after preamble, or dependent on visual context.
|
|
24
|
+
- `not_established`: the page has no identifiable principal question (fix the
|
|
25
|
+
page registry first — this is an intent problem, not a formatting problem).
|
|
26
|
+
|
|
27
|
+
## Evidence required
|
|
28
|
+
|
|
29
|
+
Quote the exact passage judged, with its position (paragraph index / selector).
|
|
30
|
+
|
|
31
|
+
## Example / counterexample
|
|
32
|
+
|
|
33
|
+
- Strong: "AI execution governance is the set of enforceable controls that
|
|
34
|
+
determines whether a specific AI-initiated action is authorized at the moment
|
|
35
|
+
of execution. It does not include model training governance."
|
|
36
|
+
- Weak: "This matters more than ever. As we saw above, there are many angles to
|
|
37
|
+
consider before diving into what this means for your organization."
|
|
38
|
+
|
|
39
|
+
## Ambiguity conditions → human review
|
|
40
|
+
|
|
41
|
+
- Extraction would change the claim's scope (dimension 4 fails in a way that
|
|
42
|
+
affects a registered claim).
|
|
43
|
+
- The principal question is contested between informational and commercial intent.
|
|
44
|
+
- Content is legally qualified language where tightening wording changes meaning.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Rubric: claim boundedness
|
|
2
|
+
|
|
3
|
+
Judges whether a claim's wording stays inside its evidence, scope, and
|
|
4
|
+
exclusions — the semantic complement to CLAIM-00x detectors.
|
|
5
|
+
|
|
6
|
+
## Scoring dimensions
|
|
7
|
+
|
|
8
|
+
1. **Scope explicitness** — conditions under which the claim holds are stated
|
|
9
|
+
in the claim or immediately adjacent, not implied.
|
|
10
|
+
2. **Exclusion honesty** — known non-covered cases stated; material limitations
|
|
11
|
+
not omitted (a limitation the buyer would consider material must appear).
|
|
12
|
+
3. **Type fidelity** — opinion phrased as opinion, aspiration as aspiration,
|
|
13
|
+
comparison with its comparison set, performance with its conditions.
|
|
14
|
+
4. **Quantifier discipline** — "all/every/always/never/only" only when evidence
|
|
15
|
+
covers the universal; otherwise scoped quantifiers.
|
|
16
|
+
5. **Temporal honesty** — version/date-bound facts carry their version or date.
|
|
17
|
+
|
|
18
|
+
## Posture
|
|
19
|
+
|
|
20
|
+
`strong`, `partial` (scope stated, exclusions thin), `weak` (wording exceeds
|
|
21
|
+
evidence or universal quantifiers uncovered), `not_established` (claim not in
|
|
22
|
+
registry — run `/citable map-claims`).
|
|
23
|
+
|
|
24
|
+
## Example / counterexample
|
|
25
|
+
|
|
26
|
+
- Bounded: "In configured enforcement deployments, Gatekeeper validates each
|
|
27
|
+
action before execution. Advisory-only deployments are excluded."
|
|
28
|
+
- Unbounded: "Gatekeeper stops every unauthorized AI action." (universal
|
|
29
|
+
quantifier, no scope, no exclusions → `weak`; substantiate outcome at best
|
|
30
|
+
`verified_narrowed` after rewording).
|
|
31
|
+
|
|
32
|
+
## Ambiguity → human review
|
|
33
|
+
|
|
34
|
+
- Regulated, contractual, security, financial, medical, certification, or
|
|
35
|
+
customer claims (always — mirrors CLAIM-006).
|
|
36
|
+
- Narrowing the wording would change a published commercial commitment.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Rubric: comparison fairness
|
|
2
|
+
|
|
3
|
+
Judges whether a comparison page is legitimate analysis rather than a stacked
|
|
4
|
+
deck. Complements ANS-007 (basis exists) with a judgment of whether the basis
|
|
5
|
+
is honest.
|
|
6
|
+
|
|
7
|
+
## Scoring dimensions
|
|
8
|
+
|
|
9
|
+
1. **Criteria legitimacy** — comparison dimensions are ones a buyer would use,
|
|
10
|
+
not dimensions selected because only the author wins them.
|
|
11
|
+
2. **Alternative completeness** — legitimate alternatives a buyer would
|
|
12
|
+
shortlist are included; excluding the strongest competitor is a fairness
|
|
13
|
+
failure, not an editorial choice.
|
|
14
|
+
3. **Evidence per cell** — comparative assertions about *other* vendors carry
|
|
15
|
+
sources and retrieval dates (their docs, public pricing), not assumptions.
|
|
16
|
+
4. **Loss disclosure** — the author's product loses at least where it actually
|
|
17
|
+
loses; a comparison with zero conceded dimensions is presumptively unfair.
|
|
18
|
+
5. **Currency** — competitor capabilities dated; stale claims about others are
|
|
19
|
+
both unfair and legally risky.
|
|
20
|
+
|
|
21
|
+
## Posture
|
|
22
|
+
|
|
23
|
+
`strong` (all five), `partial` (fair criteria, thin sourcing), `weak`
|
|
24
|
+
(criteria stacked or no conceded dimensions), `not_established` (competitor
|
|
25
|
+
data unavailable → mark incomplete; never guess competitor capabilities).
|
|
26
|
+
|
|
27
|
+
## Ambiguity → human review
|
|
28
|
+
|
|
29
|
+
- Any named competitor (legal review of comparative claims — always).
|
|
30
|
+
- Competitor capability changed recently and sources conflict.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Rubric: conversion alignment
|
|
2
|
+
|
|
3
|
+
Judges whether optimization preserved or improved the page's commercial
|
|
4
|
+
function — the guard against "optimized for machines, ruined for buyers"
|
|
5
|
+
(premise 3.7).
|
|
6
|
+
|
|
7
|
+
## Scoring dimensions
|
|
8
|
+
|
|
9
|
+
1. **Action preservation** — the registered conversion_action is still present,
|
|
10
|
+
visible, and functional after changes.
|
|
11
|
+
2. **Stage fit** — the action matches the funnel stage of the mapped
|
|
12
|
+
queries/prompts.
|
|
13
|
+
3. **Friction honesty** — added answer blocks, definitions, or schema did not
|
|
14
|
+
push the conversion element below the fold on the page's dominant viewport
|
|
15
|
+
class (verify, don't assume).
|
|
16
|
+
4. **Trust continuity** — limitations and scope statements added for AEO/GEO
|
|
17
|
+
are framed accurately but not self-sabotagingly (state the limitation; don't
|
|
18
|
+
editorialize against your own product).
|
|
19
|
+
5. **Accessibility preserved** — interactive conversion elements keep their
|
|
20
|
+
labels, focus order, and keyboard operability after edits.
|
|
21
|
+
|
|
22
|
+
## Posture
|
|
23
|
+
|
|
24
|
+
`strong`, `partial` (action present, stage fit doubtful), `weak` (action lost,
|
|
25
|
+
demoted, or broken), `not_established` (no conversion_action registered —
|
|
26
|
+
that's an inspect/registry finding first).
|
|
27
|
+
|
|
28
|
+
## Evidence required
|
|
29
|
+
|
|
30
|
+
Before/after presence of the conversion element (selector or line reference)
|
|
31
|
+
and the registry conversion_action row.
|
|
32
|
+
|
|
33
|
+
## Ambiguity → human review
|
|
34
|
+
|
|
35
|
+
- Page has no declared conversion action but obviously sells something.
|
|
36
|
+
- Optimization requires choosing between answer position and conversion
|
|
37
|
+
position — commercial owner decides, not the optimizer.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Rubric: entity clarity
|
|
2
|
+
|
|
3
|
+
Judges whether an external system can resolve who/what an entity is, what it
|
|
4
|
+
owns, and what category it belongs to — across owned and observed surfaces.
|
|
5
|
+
|
|
6
|
+
## Scoring dimensions
|
|
7
|
+
|
|
8
|
+
1. **Identity completeness** — canonical name, type, canonical URL, and (for
|
|
9
|
+
organizations) legal vs operating identity explained.
|
|
10
|
+
2. **Relationship graph** — ownership and product-family relationships recorded
|
|
11
|
+
and mirrored in structured data (@id references, publisher links).
|
|
12
|
+
3. **Cross-surface consistency** — same category and description across website,
|
|
13
|
+
profiles, directories, documentation (small wording drift is normal;
|
|
14
|
+
*category contradiction* is the failure).
|
|
15
|
+
4. **Alias governance** — every name variant in the wild is either registered
|
|
16
|
+
as an alias or scheduled for correction.
|
|
17
|
+
5. **External anchoring** — sameAs/profiles limited to verified authoritative
|
|
18
|
+
accounts.
|
|
19
|
+
|
|
20
|
+
## Posture
|
|
21
|
+
|
|
22
|
+
`strong`, `partial` (identity complete, cross-surface unverified),
|
|
23
|
+
`weak` (category contradiction or ownership ambiguity), `not_established`
|
|
24
|
+
(identity fields missing — mark the entity `incomplete`; never invent legal
|
|
25
|
+
names, founders, addresses, or registration status).
|
|
26
|
+
|
|
27
|
+
## Evidence required
|
|
28
|
+
|
|
29
|
+
Registry entity row, schema blocks, and the exact conflicting descriptions with
|
|
30
|
+
their sources and retrieval dates.
|
|
31
|
+
|
|
32
|
+
## Counterexample (category contradiction)
|
|
33
|
+
|
|
34
|
+
Website: "AI execution governance platform" / LinkedIn: "ethical AI consulting"
|
|
35
|
+
/ directory: "AI marketing automation" → `weak`, with each conflicting surface
|
|
36
|
+
listed as a contradiction finding.
|
|
37
|
+
|
|
38
|
+
## Ambiguity → human review
|
|
39
|
+
|
|
40
|
+
- Legal identity vs operating identity diverge (renames, acquisitions).
|
|
41
|
+
- Entity shared between organizations (joint ventures, resold products).
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Rubric: evidence strength
|
|
2
|
+
|
|
3
|
+
Judges whether attached evidence actually supports a claim *as worded*. This is
|
|
4
|
+
the mandatory semantic gate before any claim moves toward `verified`
|
|
5
|
+
(`citable substantiate` handles only the deterministic preconditions).
|
|
6
|
+
|
|
7
|
+
## Scoring dimensions
|
|
8
|
+
|
|
9
|
+
1. **Directness** — does the evidence address the claim's exact proposition, or
|
|
10
|
+
an adjacent one? ("handles 10k rps" is not supported by "architecture is
|
|
11
|
+
horizontally scalable".)
|
|
12
|
+
2. **Primacy** — primary artifact (test result, specification, certification,
|
|
13
|
+
registration) vs secondary report of one.
|
|
14
|
+
3. **Methodological completeness** — methodology, test conditions, measurement
|
|
15
|
+
period, population, and environment recorded and appropriate.
|
|
16
|
+
4. **Currency** — evidence dated within the claim's temporal class (see
|
|
17
|
+
lifecycle table in the AEO source doc §8).
|
|
18
|
+
5. **Independence** (for comparative/market claims) — at least one source not
|
|
19
|
+
controlled by the claiming organization.
|
|
20
|
+
6. **Coverage of scope** — evidence covers every deployment/scenario inside the
|
|
21
|
+
claim's declared scope; anything uncovered must appear in exclusions.
|
|
22
|
+
|
|
23
|
+
## Posture
|
|
24
|
+
|
|
25
|
+
- `strong`: all six dimensions satisfied; claim wording does not exceed evidence.
|
|
26
|
+
- `partial`: directness + currency satisfied, but scope coverage or primacy
|
|
27
|
+
incomplete → outcome is `verified_narrowed` with explicit narrowed scope.
|
|
28
|
+
- `weak`: evidence is adjacent, stale, or secondary-only → `insufficient_evidence`.
|
|
29
|
+
- `not_established`: evidence inaccessible or methodology absent.
|
|
30
|
+
|
|
31
|
+
## Confidence
|
|
32
|
+
|
|
33
|
+
`confirmed` only when the evidence artifact itself was read (not its registry
|
|
34
|
+
row). `high` when methodology and directness verified. Never above `medium`
|
|
35
|
+
when working from registry metadata alone.
|
|
36
|
+
|
|
37
|
+
## Example / counterexample
|
|
38
|
+
|
|
39
|
+
- Supported: "Gatekeeper validates actions before execution *in enforcement
|
|
40
|
+
deployments*" ← architecture spec + live validation report covering
|
|
41
|
+
enforcement mode. Scope stated, exclusions stated.
|
|
42
|
+
- Not supported: "reduces compliance costs by 70%" ← a customer quote saying
|
|
43
|
+
"significantly reduced our costs". Quote is directional, not quantitative;
|
|
44
|
+
outcome is `insufficient_evidence` with required_input: baseline, period,
|
|
45
|
+
population, methodology, source.
|
|
46
|
+
|
|
47
|
+
## Ambiguity conditions → human review
|
|
48
|
+
|
|
49
|
+
- Any upgrade toward `verified`/`verified_narrowed` (always).
|
|
50
|
+
- Evidence in a language or jurisdiction the reviewer cannot assess.
|
|
51
|
+
- Contradictory evidence exists of comparable primacy.
|
|
52
|
+
- Claim is legal/regulatory, security, financial, medical, certification, or
|
|
53
|
+
names a customer — legal/SME review regardless of evidence quality.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Rubric: information gain
|
|
2
|
+
|
|
3
|
+
Judges whether a page contributes information not available elsewhere — the
|
|
4
|
+
difference between a citable source and a summary of other sources.
|
|
5
|
+
|
|
6
|
+
## Scoring dimensions
|
|
7
|
+
|
|
8
|
+
1. **Original artifact presence** — at least one of: original data, benchmark,
|
|
9
|
+
controlled experiment, incident analysis, reference architecture,
|
|
10
|
+
proprietary taxonomy (defined, not just named), survey, reproducible
|
|
11
|
+
methodology, first-party operational observation, reusable tool.
|
|
12
|
+
2. **Non-derivability** — could a competent writer produce this page from the
|
|
13
|
+
current top results alone? If yes, gain is synthetic.
|
|
14
|
+
3. **Specificity** — concrete versions, numbers-with-methodology, named failure
|
|
15
|
+
modes; not abstract advice.
|
|
16
|
+
4. **Reproducibility** — methods described well enough to re-run or falsify.
|
|
17
|
+
|
|
18
|
+
## Posture
|
|
19
|
+
|
|
20
|
+
`strong` (dimension 1 + 2 hold), `partial` (original framing, no original
|
|
21
|
+
artifact), `weak` (restatement of existing sources), `not_established`
|
|
22
|
+
(gain claimed from internal data that is not published — publish it or drop
|
|
23
|
+
the claim of originality).
|
|
24
|
+
|
|
25
|
+
## Counterexample
|
|
26
|
+
|
|
27
|
+
"10 best practices for AI governance" synthesized from existing articles, with
|
|
28
|
+
an LLM paraphrase pass — scores `weak` regardless of length or formatting.
|
|
29
|
+
|
|
30
|
+
## Ambiguity → human review
|
|
31
|
+
|
|
32
|
+
- Gain rests on unpublished internal data (publication/licensing decision).
|
|
33
|
+
- Original data involves customers or regulated metrics.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Rubric: intent alignment
|
|
2
|
+
|
|
3
|
+
Judges whether page content actually serves the intent declared in the page
|
|
4
|
+
registry and the queries/prompts mapped to it.
|
|
5
|
+
|
|
6
|
+
## Scoring dimensions
|
|
7
|
+
|
|
8
|
+
1. **Declared vs delivered** — a page targeting "vendor evaluation" must contain
|
|
9
|
+
evaluation material (capabilities, limitations, pricing qualification,
|
|
10
|
+
comparison), not a re-titled awareness article.
|
|
11
|
+
2. **Intent purity** — informational and transactional intents separated unless
|
|
12
|
+
the registry deliberately combines them.
|
|
13
|
+
3. **Query/prompt fit** — for each mapped query_id/prompt_id, the page contains
|
|
14
|
+
the expected answer components recorded in the registry.
|
|
15
|
+
4. **Next-step coherence** — the conversion action matches the funnel stage
|
|
16
|
+
(awareness pages don't push "buy now"; selection pages don't end at a blog
|
|
17
|
+
subscription).
|
|
18
|
+
|
|
19
|
+
## Posture
|
|
20
|
+
|
|
21
|
+
`strong` (all mapped queries served, next step coherent), `partial` (primary
|
|
22
|
+
query served, variants uncovered), `weak` (declared intent contradicted by
|
|
23
|
+
content), `not_established` (no registry mapping — run `/citable map-queries`
|
|
24
|
+
first).
|
|
25
|
+
|
|
26
|
+
## Evidence required
|
|
27
|
+
|
|
28
|
+
The registry mapping rows plus quoted page passages that do (or fail to) serve
|
|
29
|
+
each expected answer component.
|
|
30
|
+
|
|
31
|
+
## Counterexample
|
|
32
|
+
|
|
33
|
+
A page registered for "how to implement X" (implementation intent) whose body
|
|
34
|
+
is a category pitch with no steps — flagged by ANS-006 deterministically; this
|
|
35
|
+
rubric additionally judges whether the *substance* matches even when an ordered
|
|
36
|
+
list exists.
|
|
37
|
+
|
|
38
|
+
## Ambiguity → human review
|
|
39
|
+
|
|
40
|
+
- Commercial vs informational intent contested for a revenue-relevant page.
|
|
41
|
+
- Two registries map conflicting intents to the same URL (also ARCH-004/005).
|